字节跳动笔试

80 100 80 0能有面试机会吗,

大家都说说自己ac了多少吧哈哈


第四题bfs没做出来,提交之后发现忘记每次遍历都初始化了,但估计也会超时,菜啊

#字节跳动##笔试题目#
全部评论
发一下前三题100%的代码吧……最后一题快写出来了……但是估计还要半个小时才能调试出来 1. 起床 package a; import java.util.Scanner; public class Main {     static class Clock implements Comparable<Clock>{         int hour, minute;         public Clock(int hour, int minute) {             this.hour = hour;             this.minute = minute;         }         @Override         public int compareTo(Clock o) {             if (this.hour != o.hour) {                 return this.hour - o.hour;             }             return this.minute - o.minute;         }     }     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         int n = scanner.nextInt();         Clock[] clocks = new Clock[n];         for (int i = 0; i < n; i++) {             int hour = scanner.nextInt();             int minute = scanner.nextInt();             clocks[i] = new Clock(hour, minute);         }         int route = scanner.nextInt();         Clock lesson = new Clock(scanner.nextInt(), scanner.nextInt());         while (lesson.minute < route) {             lesson.hour -= 1;             route -= 60;         }         lesson.minute -= route;         Clock latest = clocks[0];         for (int i = 0; i < clocks.length; i++) {             if (clocks[i].compareTo(lesson) <= 0 && clocks[i].compareTo(latest) >= 0) {                 latest = clocks[i];             }         }         System.out.println(latest.hour + " " + latest.minute);     } } 2.     解密 package b; import java.util.Scanner; public class Main {     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         int n = scanner.nextInt();         int k = scanner.nextInt();         String secret = scanner.next();         char[] result = new char[n];         result[0] = secret.charAt(0);         for (int i = 1; i < k; i++) {             result[i] = xor(secret.charAt(i), secret.charAt(i - 1));         }         for (int i = k; i < n; i++) {             result[i] = xor(xor(secret.charAt(i), secret.charAt(i - 1)), result[i - k]);         }         System.out.println(new String(result));     }     private static char xor(char a, char b) {         return a == b ? '0' : '1';     } } 3. 分钱 package c; import java.util.*; public class Main {     public static final int MIN_MONEY = 100;     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         int n = scanner.nextInt();         // 年份对应的座位号         TreeMap<Integer, List<Integer>> map = new TreeMap<>();         int[] people = new int[n];         for (int i = 0; i < n; i++) {             people[i] = scanner.nextInt();             if (!map.containsKey(people[i])) {                 map.put(people[i], new ArrayList<>());             }             map.get(people[i]).add(i);         }         int[] money = new int[n];         int[] tmp = new int[n];         while (!map.isEmpty()) {             int lowestKey = map.firstKey();             for (int i : map.get(lowestKey)) {                 if (i == 0) {                     tmp[i] = money[i + 1] + 100;                 } else if (i == n - 1) {                     tmp[i] = money[i - 1] + 100;                 } else {                     tmp[i] = Math.max(money[i - 1], money[i + 1]) + 100;                 }             }             for (int i : map.get(lowestKey)) {                 money[i] = tmp[i];             }             map.remove(lowestKey);         }         int sum = 0;         for (int i : money) {             sum += i;         }         System.out.println(sum);     } } 前三题都还可以……一个小时就做完了,但是最后一题想贪全最后没有做完,还是太菜了
点赞 回复 分享
发布于 2019-08-11 22:02
80 80 100路过,第四题看不懂题目
点赞 回复 分享
发布于 2019-08-11 20:55
都好厉害 80 0 40 0
点赞 回复 分享
发布于 2019-08-11 22:57
就想知道最后一题什么意思 在树上跑步🙄
点赞 回复 分享
发布于 2019-08-11 21:02
80 100 40 0求第三题思路  
点赞 回复 分享
发布于 2019-08-11 21:03
订闹钟 密码 王大锤 跑步 有没有一样的呀?
点赞 回复 分享
发布于 2019-08-11 21:08
80 100 100 10 感觉凉了... 第一题剩下20到底啥玩意啊啊啊 最后一题是Tarjan LCA? 反正floyd肯定搞不过去
点赞 回复 分享
发布于 2019-08-11 20:58
80 100 100 0 第一题调奔溃了
点赞 回复 分享
发布于 2019-08-11 20:59
吼hou吼hou mark
点赞 回复 分享
发布于 2019-08-11 21:01
80,100,100,0;想不通为啥第一题80
点赞 回复 分享
发布于 2019-08-11 21:03
第三题是我没看懂吗,球ac100的给我解释下
点赞 回复 分享
发布于 2019-08-11 21:04
大佬们跪求第三题解法
点赞 回复 分享
发布于 2019-08-11 21:04
100 100 40 0
点赞 回复 分享
发布于 2019-08-11 21:04
第二题和前K-1个取xor即可, 50分的可能是多把前导0去掉了 第三题拓扑排序
点赞 回复 分享
发布于 2019-08-11 21:06
第一题80%的同学,最后应该再补一个输出第一个闹钟时间,这样就100%
点赞 回复 分享
发布于 2019-08-11 21:09
1 -> 80, 2 -> 80+, 3 -> 100 能告诉我为啥,前两个没过吗。。。 1.  import sys n = int(sys.stdin.readline().strip()) clock_times = [] for _ in range(n):     clock_times.append(list(map(int, sys.stdin.readline().strip().split()))) walk_minutes = int(sys.stdin.readline().strip()) class_time = list(map(int,sys.stdin.readline().strip().split())) def get_minutes_from_time(time):     return time[0] * 60 + time[1] def get_time_from_minutes(minuts):     time = []     time.append(minuts // 60)     time.append(minuts % 60)     return time def solution(n, clock_times, walk_minutes, class_time):     clock_minutes = []     class_minute = get_minutes_from_time(class_time)     for clock_time in clock_times:         clock_minutes.append(get_minutes_from_time(clock_time))     clock_minutes.sort(reverse=True)     for clock_minute in clock_minutes:         total_minute = clock_minute + walk_minutes         if total_minute <= class_minute:             return get_time_from_minutes(clock_minute) if __name__ == "__main__":     result = solution(n, clock_times, walk_minutes, class_time)     print(result[0], result[1], sep=" ") 2. import sys n, k = list(map(int, sys.stdin.readline().strip().split())) message_encoded = sys.stdin.readline().strip() def solution(n, k, message_encoded):     if n == 0 or k == 0:         return ""     if k == 1:         return  message_encoded     message_encoded = list(message_encoded)     message_encoded = list(map(int, message_encoded))     a_n = []     for i in range(n):         if i == 0:             a_n.append(int(message_encoded[0]))             continue         if i < k:             a_n.append(message_encoded[i] ^ message_encoded[i - 1])             continue         else:             a_n.append(message_encoded[i] ^ message_encoded[i - 1] ^ a_n[i - k])     return "".join(list(map(str, a_n))) if __name__ == "__main__":     print(solution(n, k, message_encoded)) 3. import sys n = int(sys.stdin.readline().strip()) ages = list(map(int, sys.stdin.readline().strip().split())) def solution(n, ages):     if n == 0:         return 0     if n == 1:         return 100     bonus = []     for i in range(n):         bonus.append(100)     for i in range(n - 1):         if ages[i + 1] > ages[i]:             bonus[i + 1] = max(bonus[i + 1], bonus[i] + 100)     for i in range(n - 1, 0, -1):         if ages[i - 1] > ages[i]:             bonus[i - 1] = max(bonus[i - 1], bonus[i] + 100)     return sum(bonus) if __name__ == "__main__":     print(solution(n, ages))
点赞 回复 分享
发布于 2019-08-11 21:14
现在的题目好难啊。。树形DP,这些不是竞赛专有名词吗。笔试都要上了。 你们真是太难了。
点赞 回复 分享
发布于 2019-08-11 23:06
大佬们,不要装逼了。。真的!!!
点赞 回复 分享
发布于 2019-08-12 21:04
我只有第三题AC:我是这么干的:从左往右遍历一次,如果入职时长大于右边且工资小于等于右边的,工资加100,  然后在从右往左遍历一次,如果右边入职时长大于左边且工资小于等于左边的,也加100.   如此遍历直到都满足即可
3 回复 分享
发布于 2019-08-11 21:09
第三个怎么都40%,不知道有哪些样例特殊
点赞 回复 分享
发布于 2019-08-11 20:55

相关推荐

不愿透露姓名的神秘牛友
10-13 17:54
已编辑
深圳智科集团 助理工程师 硕士21.9+4w补贴,六险二金顶格,65折 硕士
点赞 评论 收藏
分享
面试1面试官项目的概括介绍ArrayList与LinkedList的区别两者的内存空间是如何的(在头尾插入删除操作上)说一下HashMap中的哈希冲突hashcode()如何计算的稍微介绍一下HashMap底层的数据结构是(答了红黑树,然后开始拷打红黑树了)什么是红黑树数据结构,特点是什么插入删除的时间复杂度是多少给你三个节点,红黑树是什么样的(三黑,没答出来)说一下堆的数据结构是,最大堆最小堆堆排序的时间复杂度是(建堆是O(n),排序是O(nlogn))解释一下堆排序为什么是这个时间复杂度(发疯了,不知道ww,后续经查:在正式排序时,第n次取堆顶记录重建堆需要用O(logn)的时间,并且需要取n-1次堆顶记录,因此排序的时间复杂度是O(nlogn))问堆除了做排序还能做什么,看我不解,面试官提示我PriorityQueue(优先级队列我比较熟悉,就将了有无参构造,扩容机制,定时任务的原理,用堆实现定时任务(时间化为时间戳整数,堆要加锁保证线程安全等等))2面试官redis的跳表(一紧张忘记了,鼠鼠真的太菜了)问我熟不熟悉Linux系统(不熟悉,只熟悉操作命令),然后问了iptabels的作用,实际上遇到的场景系统调用kafka吞吐量大,为什么(发送缓冲区,按批发送)zookeeper在kafka中的作用是什么介绍一下ZAB协议zookeeper中的临时节点是什么(开扯)zookeeper中服务器的数量是单数还是双数将一下http和https的区别(开始上难度了)你自己开发使用的http是哪个版本(平时还是使用https多)那介绍一下tls的加密方式现在https默认使用的是那个tls版本和ssl版本(tls是1.3,ssl不知道)tls1.3相较于1.2的区别在哪(开扯,从安全性和加密速度上分析)问了清不清楚Nagle(没听说过>_还问了另一个没听说的算法反问问网易对于校招生更注重什么能力:相比疫情前,他们的招人的难度增大,侧重底层算法其他反问忘记了【网易游戏(互娱)】2025届校招N星计划开启投递!!面向对象:2024年9月-2025年8月毕业的同学工作地点:广州、杭州、上海网申时间:即日起,招满即止投递传送门:https://game.campus.163.com/m/position/21?st=ZTkxYTUwNWYtN2VjZC00NWNmLWFlOWYtZjAzYzZmOWI1OTQ0请认准我的内推码:【JC2tAF】项目重点一览:★掉落直通校招和实习两种offer,满足不同诉求!★实习项目未能斩获offer的同学可复活再战!★更快的校招流程,先人一步拿下offer!★五大岗位类别,多款游戏产品等你加盟!★业内具有竞争力的薪酬,幸福猪仔不是梦!欢迎具备无界精神的你,和我们一起创造未来的无限可能性!使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状态
网易互娱
|
校招
|
超多精选岗位
点赞 评论 收藏
分享
评论
3
15
分享
牛客网
牛客企业服务