字节跳动 2020届秋招 笔试第一题 疑问

小明的闹钟

题目如下:

就想知道为什么过不了!!!
我甚至把别人的程序复制到考试里面,都是和我一样的情况——测试样例通过率80%!

但是我的代码在上面链接里那些题目中都是全通的,只想问问原因!

也许是我太菜,只求一个解答
#字节跳动##秋招##笔试题目##悬赏#
全部评论
我也 80%……
点赞 回复
分享
发布于 2019-08-11 20:33
老哥过了多少
点赞 回复
分享
发布于 2019-08-11 20:34
联想
校招火热招聘中
官网直投
交其他卷子的题就过了= = 。 我怀疑数据有锅啊,毕竟这么简单的题。
点赞 回复
分享
发布于 2019-08-11 20:49
我也80%。。
点赞 回复
分享
发布于 2019-08-11 20:51
表示就第一题ac了
点赞 回复
分享
发布于 2019-08-11 21:03
这次内推以后笔试挂了还能推么?
点赞 回复
分享
发布于 2019-08-11 21:18
我也是这样,一直80,,最后初值赋成第一个闹钟就过了。。。😂😂😂😂
点赞 回复
分享
发布于 2019-08-11 21:20
初始值赋值成第一个闹钟(排序的最小的)就可以了
点赞 回复
分享
发布于 2019-08-11 21:22
才发现我没sort。。。服了,题目没说闹钟有顺序,这样竟然也过了80.。。。,一下是刚才在牛客网上AC的 import java.util.Arrays; import java.util.Scanner; public class Main {     public static void main(String[] args) {         Scanner sc = new Scanner(System.in);         while ( sc.hasNextLong() ) {             int n = sc.nextInt();             int[] times = new int[n];             for (int i = 0; i < n; i++) {                 int h = sc.nextInt() * 60;                 int m = sc.nextInt();                 times[i] = h + m;             }             Arrays.sort(times);             int cost = sc.nextInt();             int sh = sc.nextInt() * 60;             int sm = sc.nextInt();             int target = sh + sm;             int left = target - cost;             int res = -1;             for (int i = 0; i < n; i++) {                 if (left == times[i]) {                     res = left;                     break;                 }             }             for (int i = 1; i < n; i++) {                 if (left > times[i - 1] && left < times[i]) {                     res = times[i - 1];                     break;                 }             }             int hour = res / 60;             int min = res % 60;             System.out.println(hour + " " + min);         }     } }
点赞 回复
分享
发布于 2019-08-11 21:32
第一题不用排序吗
点赞 回复
分享
发布于 2019-08-11 21:43
Bucket sort应该是最优解吧
点赞 回复
分享
发布于 2019-08-13 22:14

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务