失效链接处理 |
互联网面试手写代码常见题总结 PDF 下载
本站整理下载:
相关截图:
主要内容:
1.一个链表如何一次遍历得到中间节点的位置(利用快慢指针)
2.给出两个int数组arr1和arr2,数组内各自的元素不重复,求数组的交集(hashmap存入一个数组,另一个数组去check有没有相同的即可。当然还有一种方式就是两个数组先排个序,之后依次比较是否相同,相同指针共同进一,不相同值小的进一。
3.走台阶1,2,3步,请问到100步可以有多少种走法。我用的fn=fn-1+fn-2+fn-3递归做的,他说可以用动态规划减小复杂度。然后问动态规划和分治的区别是和前一个状态一个有关一个无关
4.m个数里取n个最大数,我用最小堆解决,复杂度mlogn
5.正负数组里面连续子数组和的最大值。我用暴力法,其实可以优化。
6.1-N范围内的素数的个数
7.学过什么排序算法,手写快排。是否了解一次哈希算法,不了解。后来他通过负载均衡的问题,引入一次哈希所能解决的一种问题,没有告诉我,问我会怎么做,看了别人的问题和网上的解释,才联系到一起。不过可能他问的比较简单,我就提出了一个解决方案了。
8.链表是否是循环的判断。
9.双向链表如何倒排,这一题相当懵逼,很久很久以前学过,现在记不得了,就说我试试,试了一下,有问题,他就说迭代熟不熟,能不能用迭代的方法实现,考虑一下,不会。说想出另一种方法,推了一下,没有bug,其实已经很接近正确方法了。
10.m, n的最大公因数和最小公倍数
11.手写代码,打印二叉树的某一行,写了好久,面试官有提点
12.找最近的点,类比滴滴打车
13.杨辉三角
14.有环链表
15.二分查找的思想。
16.最常见的排序算法你见过哪些,快排的基本思想以及时间复杂度?
17.什么是跳表?
18.队列跟栈有什么区别? 分别用在什么场景?
19.讲一下红黑树
20.算法题,1~100个随机数,取出5个随机数 。可以生成一个数组,放了1~100的数值,然后随机索引,然后取出随机值后与最后一项交换,循环
21.非递归方式实现二叉树的中序遍历。
22.手写二分查找,快速排序
23.手写LRU算法
24.两个链表找交点
25.两个无限长的数字求和
26.求数组最大子序列
27.算法快拍冒泡时间复杂度
28.翻转字符串
29.树的4种遍历方式,前中后,广度优先
30.图了解吗?能讲一下最短路径算法吗?
31.堆的topK
32.快排可以实现topK吗?
33.大小写转换怎么设计的,不局限于英文,包括法文等等
34.数据结构链表数组,平衡二叉树
35.两个栈实现一个队列
36.找出第一个重复出现的字符(面试官觉得用set异常捕获最好)
37.手撕代码查找目录下所有文件并按文件大小排序,逆序字符串
38.知道队列么? 手写一下用数组实现的循环队列吧,只需要两个方法入队以及出队?
39.异步队列怎么实现,高并发情况下怎么办
40.取火柴问题
41.判断回文数
42.约瑟环
43.最小字典序
44.红黑树能写出来吗?红黑树的特点 b树
45.图在代码中怎么表示 怎么求图中两节点最短距离
46.给定字符串如ABCD,求所有子串排列。
47.手撕一个爬楼梯的代码题
48.手撕一个3X(2-1)+1这样的字符串,求它的结果
49.快排的思路,基准如何选择(三种:固定,随机,三数取中)
50.平衡树
51.翻转单链表(我用的是非递归),然后要求用递归形式写一遍
52.数组最大子序列
53.在白纸上手写二分法排序算法,这道题我在 lintcode 上面做过原题
54.查找单链表中倒数第 K 个节点的算法,面试官要求手写
55.一个数学算式,要求用栈分别存放数字与运算符号,按优先级出栈实现,得出结果,面对面给张纸手写代码
56.换成100阶梯,一次上1/2/5阶,多少种组合?面对面给张纸手写代码
57.程序,大数相加
58.实现一个联想搜索,自动排出可能的词,英文的,问数据量,觉得是字典序,每一层乘26,实际是错的,本身树很稀疏,所以要按单词量进行估算
59.树广度排序说思路
60.AVL树,给定层数求最小最大节点数
61.非递归后序遍历二叉树与BFS遍历
62.数转换成二进制,注意边界条件
63.怎么随机从未知文本中抽取10行,当时不知道蓄水池算法
64.写一道算法,6个骰子,求点数为n时的概率
65.无向无环图,求以某个节点为根节点时的树的高度最小
66.堆排序的原理,手写
67.关于几个人说话的推理题,只有两个人是真话,面试官说不是智力题不是推理题,考的是编码,所以想到穷举然后判断是否满足题目条件,用了几个for循环来穷举,面试官很不满意,说这不是一个很明显的全排列吗。后来又改成全排列
68.链表对折,就是 1 2 3 4 5 6 变成 1 6 2 5 3 4这种,比较简单,然后还让运行,自己写测试用例,测试用例用的随机方法产生,面试官比较满意,
69.链表相加,思路就是反转 然后求和,另一个是多个有序数组 归并。
70.写的lru算法实现,我说看过linkedhashmap,说了下思想,然后用的这个实现,然后写了剑指offer上的正则表达式匹配
|