2018年12月字节跳动实习生校招笔试题目总结
这次笔试只有三道题目,先要求写出解题思路,然后再写出代码
笔试时间为:1个半小时
1.给出一个年月日,判断该天是当年的第几天
- 水题
- 注意判断leap year,(year%4==0 && year%100!=0) || (year%400 == 0)
2.找出数组中出现次数超过一半的数字
- 经典面试题
- 要求:算法复杂度越低越好
- O(n)算法:
- 在遍历数组的时候保存两个值:一个是数组中的一个数字,一个是次数。
- 当我们遍历到下一个数字的时候,
- 如果下一个数字和当前我们保存的数字相同,则次数加 1;
- 如果和当前我们保存的数字不同,则次数减 1;
- 当次数减到 0 的时候,我们将保存的数字改为当前遍历所处的位置,并将次数更改为 1。
3.一笔画问题(哈密尔顿图)
- 找出一条道路,遍历所有的结点
- 图的范围2 <= n,m <= 10
- 哈密尔顿回路是NP-hard问题,但是这次规模较少,可以用深度遍历解决