5) 一开始刷题不要追求量,非要把所有的题全部刷完,光 LeetCode 上就有 1000 多道题,所以没必要全部刷完的。可以按照下面这个类型来刷就可以了。
数组-> 链表-> 哈希表->字符串->栈->队列->树->回溯->贪心->动态规划->图
一开始,刷 100 道题就差不多了。国内的刷题网站有 LeetCode、LintCode、牛客网,大部分题都是类似的,有部分题需要充钱才能解锁,可以理解,毕竟网站也需要商业化才能长期维护和发展。
我在网上发现了一位匿名用户整理的 100 道面试高频算法题(出自 LintCode,涉及到阿里巴巴、字节跳动、腾讯、百度、美团、Google、Facebook、Microsoft 等大厂,题目类型有二叉树、哈希表、二分法、宽度优先搜索、深度优先搜索、贪心)。我把有题解的题目列一下(括号中为题号)。
1、连接字符串(876)
2、同和分割数组(877)
3、有效的括号字符串(1089)
4、路径和 IV(1098)
5、数组评分(1168)
6、删除字符(244)
7、矩阵中的最长递增路径(305)
8、组合新数字(1341)
9、最大点的集合(1356)
10、最短休息日( 267)
11、中位数( 339)
12、移除箱子( 1180)
13、最小分解( 871)
14、等差切片( 982)
15、祖玛游戏(1211)
16、生命游戏( 1301)
17、字符至少出现K次的最长子串(1261)
18、整数替换(1259)
19、拆分子数组(1251)
20、考试策略(273)
21、字符串划分(328)
22、区间极值异或(346)
23、月份天数(1141)
24、关联查询(1145)
25、第k大元素(5)
26、LRU缓存策略(134)
27、图是否是树(178)
28、序列重构(605)
29、单词拆分(107)
30、最多有k个不同字符的最长子字符串( 386)
31、三数之和(57)
32、颜色分类(148)
33、单词接龙(120)
34、验证二叉查找树(95)
35、搜索旋转排序数组(62)
36、买卖股票的最佳时机(149)
37、滑动窗口的最大值(362)
38、二叉树的锯齿形层次遍历(71)
39、两个链表的交叉(380)
40、复制带随机指针的链表(105)
41、二叉树的后序遍历(362)
42、二叉树的所有路径(480)
43、根据前序和后序遍历构造二叉树(1593)
44、对称树(1360)
45、找出树中每行的最大值(1195)
46、寻找重复的子树(1108)
47、两数之和(56)
48、最长回文串(627)
49、两数组的交集(547)
50、数据流中第一个唯一的数字( 685)
51、两数和 II-输入已排序的数组(608)
52、经典二分查找问题(457)
53、搜索旋转排序数组(62)
54、寻找峰值(75)
55、最长上升子序列(76)
56、岛屿的个数(433)
57、序列重构(605)
58、拓扑排序(127)
59、课程表(615)
60、最大子数组差(45)
61、子集(17)
62、子数组之和(138)
63、电话号码的字母组合(425)
64、k数和 II(90)
65、因式分解(652)
66、会议室 II(919)
最后
本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们
目录:
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
Java面试核心知识点
已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了
节省朋友们去到处搜刮资料自己整理的时间!**
[外链图片转存中…(img-DVEuJAtQ-1714194112581)]
Java面试核心知识点
已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了
[外链图片转存中…(img-fFPk7TYi-1714194112582)]