美团android岗编程题,有两个都AC的吗?

一道求数组的GCD下标和,一道正整数一共有多少位数字的题。
关于第二题有什么公式吗?循环出来只有10%吗,其他的都超时。有大佬给思路吗?
#笔试题目#
全部评论
long[] num = {9,99,999,9999,99999,999999,9999999,99999999,999999999};         long[] numResult = {9,189,2889,38889,488889,5888889,68888889,788888889};         Scanner scan = new Scanner(System.in);         int t = scan.nextInt();         for(int i = 0; i < t; i ++) {             long n = scan.nextInt();             int count = judge(n); // 判断n是几位数             if(count == 1)                 System.out.println(n);             else if(count == 10) {                 System.out.println("8888888899");             }             else {                 System.out.println((n - num[count - 2]) * count + numResult[count - 2]);             }                     }
点赞 回复 分享
发布于 2018-04-20 22:06
我也是安卓,第一题不会,第二题我感觉思路还行啊,不知道为啥只是通过百分之四十,还是不行
点赞 回复 分享
发布于 2018-04-20 23:45
为什么你们的题这么正常……我前端的编程题就是2个a+b我去……
点赞 回复 分享
发布于 2018-04-20 22:07
这个题目我的数组生成没问题,求***应该也没问题,ide上测试用例也都对,就是到赛码上不通过,这种情况还有人遇到吗?
点赞 回复 分享
发布于 2018-04-20 21:39
第一题我超时了,第二题我AC,一位数有9个,两位数有90个,以此类推n位数有,9*10^(n-1)个,统计要求得数的位数n,将前面的一位数到n-1位数加起来9 + 90*2 +……+9*10^(n-2)*(n-1),然后算出n位数总共多长,就是这个(num -10^(n-1)+1)*n,结果要用long来存。
点赞 回复 分享
发布于 2018-04-20 21:38
第二题我的想法是(13-10+1)*2就是所有和13位数相同的数的位数之和,其他的同理
点赞 回复 分享
发布于 2018-04-20 21:38
请问什么是GCD啊?
点赞 回复 分享
发布于 2018-04-20 21:32

相关推荐

ALEX_BLX:这华子能怪谁呢,池子泡这么深,每年几乎都是最晚一批开出来的公司,人才早就给抢走了。又不是人人都是博士生
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务