1.n个文件(海量文件),查找和排序,二分查找时间复杂度(微软)
归并排序,二分查找
2.算法:一个数组里面是股票值,求什么时候购买和卖出,收益最大。
其实就是给定一个数组A,求max(Ai - Aj)。其中 i >j 。
一个数记录最大差,一个记录最小元素,遍历一次即可
[leetcode 122]
[leetcode 123]
[leetcode 188]
[leetcode 309]
3.最长连续公共子串(微软)
1.二叉树路径和为某一值的路径(商汤)
2.数组中只出现一次的数字(商汤)
3.链表中倒数第k个结点(商汤)
1.数组中的逆序对(旷视)
1.x的n次方
2.链表排序(头条)
3.螺旋打印二维数组(头条)
4.扎气球(头条)
5.链表反转(头条)
1.二叉树的深度(海康)
2.排序(海康)
快排,归并,堆排序
3.跳台阶(海康)
4.连续子数组的最大和(海康)
5.最长不重复子串(海康)
1.删除字符(第四范式)
abcdabcd 4
bcdabcd
bcdbcd
cdbcd
cdcd
2.螺旋三角形输出(第四范式)
5
1
2 12
3 13 11
4 14 15 10
5 6 7 8 9
1.判断链表对称/链表回文
2.求一个数组中只包含0,1使得其中0,1个数相等的最大子数组(百度)
3.给定一个二叉树pNode* root,找到二叉树里的pNode* target节点,并打印出路径(阿里)
先序遍历,一个vector存路径递归即可
4.最长公共子序列(阿里)
商汤-3 头条-2,5
商汤-1 海康-1 other-3
第四范式-1
海康-3
微软-1 旷视-1 海康-2
商汤-2
微软-3 海康-4 海康-5
头条-4
头条-3 第四范式-2