已经好几个月没有刷题了,昨天做了58的笔试,感觉题量好大,一个半小时根本做不了几个,这还是好多题目都是剑指offer上有的经典题目。
一、填空题
1、在线段中任取两点将线段分隔成三份,求三份线段能形成三角形的概率。
2、10个人排成一列,A一定在B和C中间的概率。
3、逻辑判断题,哪个部门是冠军,一个人说的全对,一个人全错,另一个对一半。
4、树的先序、中序、后序和层次遍历。
5、一个二叉树有4个叶节点,6个度为1的节点,求总节点数。
6、c++中结构体的sizeof。
7、给定一个数组,求最小堆。
8、LRU缺页算法。
9、组合数学,不记得了。
10、不记得了。
二、简答题
1、游戏规则:每次可以用一条横线或竖线去掉矩形的一部分,比如4X3的矩形可以切割成1X3,也可以切割成4X2。谁最后不可切割就输,可以先手或者后手,问有没有必胜的方法。
2、给定只含左右括号的表达式,求嵌套最深的括号。如1+2*(3+(5-4)+7*(9-8/(5-2)))-8*(3+2)最深的括号是(5-2),它有三层括号。
3、给定两个升序单向链表,求合并后降序的单向链表。
思路:剑指offer原题。先合并再逆转。
4、删除单向链表倒数第k个节点。
思路:剑指offer原题。快慢指针法,快指针先走k步。当快指针走到链表末端时,慢指针刚好走到倒数第k个节点。
5、求两个单向链表的第一个相交点。
思路:剑指offer原题。先求出两个链表的长度差D,同样用快慢指针法,让快指针先走D步,再比较两个指针指向的节点是不是相同,如果相同就找到了第一个相交节点。
三、编程题
1、第一小问:一组数据,除一个外每个都出现了两次,找出这个数。第二小问:除两个外都出现了两次,找出这两个数。
思路:数值的异或,剑指offer原题。
2、输入字符串,输出整数,剑指offer原题。
四、应用题
忘记了,大数据相关。