不过牛客网厉害的还是多啊,思路清晰,代码简洁。自己真的需要学习的有点多。不过后来又回头看了一下《剑指offer》上其实也是这样的。 那就直接复述一遍具体的思路吧:根据设定的整数位置,对n进行分割。 这里就直接选10了,高位是a=n/10,低位是b=n%10,循环条件直接就是n*10了,这样就可以从最后一位到最高位的遍历了。 这里需要考虑的就是,a的最后一位,就是高位对应的最低位。 当i表示百位,且百位对应的数>=2,如n=31456,i=100,则a=314,b=56,此时百位为1的次数有a/10+1=32(最高两位0~31),每一次都包含100个连续的点,即共有(a%10+1) i=1;i<n;i*=10){ int a=n/i,b=n%i; //补8的效果:当百位为0,则a/10==(a+8)/10, //当百位>=2,补8会产生进位位,效果等同于(a/10+1) count+=(a+8)/10*i+(a%10==1)*(b+1); } return
数据范围 2≤T≤100, 2≤N≤10^6 输入样例: 2 6 6 4 11 4 6 4 4 8 8 4 9 6 6 8 2 6 9 3 8 9 输出样例: 10 思路 假设数组d[a][i][
] } for(let key in date) { str = str.replace(key,date[key]) } return str } // 不足10 的前面要加0 const ten = num => num >= 10 ? 获取字符串的长度题目描述 如果第二个参数 bUnicode255For1 === true,则所有字符长度为 1 否则如果字符 Unicode 编码 > 255 则长度为 2 输入 hello world, 牛客 \w+/.test(sEmail)}相关知识点:邮箱格式正则表达式的规则和匹配10.
题目 链接:https://ac.nowcoder.com/acm/contest/9715/B 来源:牛客网 给出一个仅包含小写字母的字符串s,你最多可以操作k次,使得任意一个小写字母变为与其相邻的小写字母 示例1 输入 2,"abcde" 返回值 3 示例2 输入 10,"acesxd" 返回值 4 备注: ? 2.
01-基础查询 SQL1 查询多列 题目地址:查询多列_牛客题霸_牛客网 (nowcoder.com) 题解: SELECT device_id,gender,age,university FROM user_profile SQL2 查询所有列 题目地址:查询所有列_牛客题霸_牛客网 (nowcoder.com) 题解: SELECT * FROM user_profile SQL3 查询结果去重 -DISTINCT 题目地址:查询结果去重_牛客题霸_牛客网 (nowcoder.com) 题解1: SELECT DISTINCT university FROM user_profile 题解2: SELECT university FROM user_profile GROUP BY university SQL4 查询结果限制返回行数-LIMIT 题目地址:查询结果限制返回行数_牛客题霸_牛客网 = "复旦大学" SQL10 用where过滤空值练习-IS NOT NULL 题目地址:用where过滤空值练习_牛客题霸_牛客网 (nowcoder.com) 题解: SELECT device_id
原题链接 牛客网 替换空格 ---- 二. 解题思路 1.
题目:数列还原 题目描述 牛牛的作业薄上有一个长度为 n 的排列 A,这个排列包含了从1到n的n个数,但是因为一些原因,其中有一些位置(不超过 10 个)看不清了,但是牛牛记得这个数列顺序对的数量是 k 每个测试用例的第一行包含两个整数 n 和 k(1 <= n <= 100, 0 <= k <= 1000000000),接下来的 1 行,包含 n 个数字表示排列 A,其中等于0的项表示看不清的位置(不超过 10
题目 链接:https://ac.nowcoder.com/acm/contest/10325/A 来源:牛客网 现在给定一个数组arr,和a,b两个数字,你要做的就是找到(i,j,k)。
方法名(等同于函数名)可以相同,只要保证形参类型不同就可以了,无关返回值; 7、java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式; 例如平时有这样的用法: for(int i=0;i<10
题目:分田地 输入描述: 每个输入包含 1 个测试用例。每个测试用例的第一行包含两个整数 n 和 m(1 <= n, m <= 75),表示田地的大小,接下来的 n 行,每行包含 m 个 0-9 之间的数字,表示每块位置的价值。 输出描述: 输出一行表示牛牛所能取得的最大的价值。 示例1 输入 4 4 3332 3233 3332 2323 输出 2 解答 N, M = [int(each) for each in input().split()] mat = [[int(each) for each in
把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和的数字中的最小数(从1开始)。
给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢,和一般的游戏所不同的是,他每一步只能按照一些指定的步长遍历地牢,要求每一步都不可以超过地牢的边界,也不能到达障碍上。地牢的出口可能在任意某个可以通行的位置上。牛牛想知道最坏情况下,他需要多少步才可以离开这个地牢。
题目描述 输入一个链表,反转链表后,输出新链表的表头。 解法1 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode ReverseList(ListNode head) { if(head =
小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3....... 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->8->12->18->24 于是小易最少需要跳跃5次,就可以从4号石板跳到24号石板
题目 链接:https://ac.nowcoder.com/acm/contest/10166/A 来源:牛客网 牛牛在做数学实验。 示例1 输入 10 返回值 0 示例2 输入 55 返回值 0 说明 55 -> 5 * 5 = 25 -> 2 * 5 = 10 -> 1 * 0 = 0 ? 2. { long long p = 1; while(n>0) { p *= n%10 ; n /= 10; } if(p < 10) return p;
gets用来读入一行字符(包括空格,遇到回车结束) puts输出一行,最后自动加一个‘\n’
题目描述 We now use the Gregorian style of dating in Russia. The leap years are years with number divisible by 4 but not divisible by 100, or divisible by 400. For example, years 2004, 2180 and 2400 are leap. Years 2004, 2181 and 2300 are not leap. Your task is to write a program which will compute the day of week corresponding to a given date in the nearest past or in the future using today’s agreement about dating. 输入描述: There is one single line contains the day number d, month name M and year number y(1000≤y≤3000). The month name is the corresponding English name starting from the capital letter. 输出描述: Output a single line with the English name of the day of week corresponding to the date, starting from the capital letter. All other letters must be in lower case.