Skip to content

hovinghuang/fe-agorithm-interview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

前端算法面试(高频题库&题目解析)


一站式解决前端面试遇到的算法问题,咱们只专注于前端高频算法。


解决痛点:

(1)LeetCode 题目太多,不知从何刷起?面试题目有些是前端常考,有些是后端常考?
答:本站参照 CodeTop上的前端算法题目考察频度,抽取前 60 道题,知道你时间宝贵,咱们要把时间花在刀刃上。
(2)LeetCode 上面的题解鱼龙混杂,有些直接题目直接贴代码,没有任何分析过程,看不懂?
答:本站会带你理解题目,并且给出解题思路,分析时间&空间复杂度,一题多解,带你彻底搞懂。
(3)GitHub 有些仓库为了吸引关注数目,会尽量把所有题目列的很’全‘(刷不完那一种),根本没有照顾到求职心切的人的心情?
答:本站只做专精,不搞大而全。根据考试频率划分层次,让你做题时心里有数,减少求职者刷算法时的心理负担。

刷题顺序:

首先我们要做好一个心理准备,对于大多数算法小白或者平时没有刷算法题习惯的人来说,刷完第一遍肯定会忘的。
那么搞清楚刷题的目的(进大厂拿高薪)、要刷的次数(建议三次以上)、以及每一遍的刷题目的就很重要。
将知识梳理结构化有利于记忆,而且多刷几次可以加深记忆这是毋庸置疑的。

对于0基础小白,建议刷题前可先过一遍算法入门基础知识,以下是我梳理的一些基础知识点,
主要是:
(1)JS基础(你知道数组的哪些操作是会改变自身的?sort方法你真的了解?)
(2)大学计算机专业课之一算法与数据结构这门课的主要内容的总结。(非科班同学必看,科班同学也可以复习一下)

推荐刷题顺序:
第一遍:
刷前端高频60,先把题目看懂,尝试自己解出来,实在想不出答案直接看题解,千万别浪费时间硬刚,
其次要把题解看透,每一种解法的时间复杂度是怎么来的搞清楚,每一种解法思路&优劣也要搞清楚
第二遍:
参考专题突破的分类,学习一些相应的解题技巧,自己要会总结记到本本上,比如遇到“二叉树”遍历相关题型,首先想到 DFS & BFS
第三遍:
自己不看答案,靠自己前面两遍的刷题记忆以及自己总结的解题技巧,认认真真把每道题做出来,做不出来的题就圈出来,分析一下做不出来的原因
更多遍:
针对于第三遍做题技巧和思路的查漏补缺

使用方法:

Windows or Linux 可以用 (CTRL + click)题目 or 题解 打开一个新窗口。
这样当前页面可以保留,对于刷题比较友好。同理 MAC OS 可以用 CMD + click


CodeTop 前端高频 60 (第1 ~ 20题)


已完成的题目我会将其序号加星号

序号 题目名称 考频 LeetCode 牛客 考点 难度
1* 无重复字符的最长子串 58 题目 题解 题目 题解 双指针 哈希 medium
2* 合并两个有序数组 44 题目 题解 题目 题解 双指针 easy
3* 字符串相加 39 题目 题解 题目 题解 双指针 模拟 easy
4* 比较版本号 38 题目 题解 题目 题解 字符串 medium
5* 有效的括号 37 题目 题解 题目 题解 easy
6* 两数之和 34 题目 题解 题目 题解 哈希 easy
7* 爬楼梯 25 题目 题解 题目 题解 递归 动态规划 easy
8* 全排列 25 题目 题解 题目 题解 回溯 递归 medium
9* 最大子序和 26 题目 题解 题目 题解 贪心 动态规划 easy
10* 路径总和 24 题目 题解 题目 题解 递归 DFS easy
11* 反转链表 22 题目 题解 题目 题解 链表 递归 easy
12* 三数之和 22 题目 题解 题目 题解 双指针 medium
13* 二叉树的层序遍历 23 题目 题解 题目 题解 二叉树 BFS medium
14* 数组中的第K个最大元素 22 题目 题解 题目 题解 快速排序 二分 medium
15* 买卖股票的最佳时机 19 题目 题解 题目 题解 贪心 动态规划 easy
16* 手撕快速排序 19 题目 题解 题目 题解 快速排序 二分 medium
17* 环形链表 20 题目 题解 题目 题解 双指针 哈希 easy
18* 最长回文子串 21 题目 题解 题目 题解 动态规划 medium
19* 求根节点到叶节点数字之和 18 题目 题解 题目 题解 DFS BFS medium
20* 二分查找 15 题目 题解 题目 题解 递归 easy

CodeTop 前端高频 60 (第21 ~ 40题)


已完成的题目我会将其序号加星号

序号 题目名称 考频 LeetCode 牛客 考点 难度
21* 岛屿数量 15 题目 题解 题目 题解 DFS BFS medium
22* 括号生成 13 题目 题解 题目 题解 递归 medium
23* 合并两个有序链表 12 题目 题解 题目 题解 链表 递归 easy
24* 螺旋矩阵 13 题目 题解 题目 题解 - - medium
25* 最长上升子序列 12 题目 题解 题目 题解 动态规划 贪心 二分 medium
26* 二叉树的中序遍历 13 题目 题解 题目 题解 二叉树 DFS BFS easy
27* 二叉树的最大深度 12 题目 题解 题目 题解 二叉树 - easy
28 岛屿的最大面积 11 题目 题解 题目 题解 DFS BFS medium
29 LRU缓存机制 11 题目 题解 题目 题解 - - medium
30 零钱兑换 12 题目 题解 题目 题解 - - medium
31 链表中倒数第K个节点 11 题目 题解 题目 题解 链表 - easy
32 斐波那契数列 10 题目 题解 题目 题解 递归 - easy
33 翻转二叉树 10 题目 题解 题目 题解 二叉树 - easy
34 长度最小的子数组 9 题目 题解 题目 题解 - - medium
35 接雨水 9 题目 题解 题目 题解 - - hard
36 最长重复子数组 10 题目 题解 题目 题解 - - medium
37 二叉树的前序遍历 9 题目 题解 题目 题解 二叉树 - easy
38 合并区间 10 题目 题解 题目 题解 - - medium
39 二叉树的锯齿形层序遍历 8 题目 题解 题目 题解 二叉树 - medium
40 由前序中序遍历构造二叉树 8 题目 题解 题目 题解 二叉树 - medium

CodeTop 前端高频 60 (第41 ~ 60题)


已完成的题目我会将其序号加星号

序号 题目名称 考频 LeetCode 牛客 考点 难度
41 不同路径 8 题目 题解 题目 题解 medium
42 青蛙跳台阶问题 8 题目 题解 题目 题解 easy
43 打乱数组 8 题目 题解 题目 题解 medium
44 相交链表 8 题目 题解 题目 题解 easy
45 旋转图像 7 题目 题解 题目 题解 medium
46 复原IP地址 7 题目 题解 题目 题解 medium
47 圆圈中最后剩下的数字 7 题目 题解 题目 题解 easy
48 K个一组翻转链表 7 题目 题解 题目 题解 hard
49 斐波那契数 7 题目 题解 题目 题解 easy
50 二叉树的右视图 7 题目 题解 题目 题解 medium
51 最小栈 7 题目 题解 题目 题解 easy
52 打家劫舍 7 题目 题解 题目 题解 medium
53 两数相加 6 题目 题解 题目 题解 medium
54 移动零 6 题目 题解 题目 题解 easy
55 删除链表的倒数第 N 个结点 6 题目 题解 题目 题解 medium
56 最长公共前缀 6 题目 题解 题目 题解 easy
57 字符串相乘 6 题目 题解 题目 题解 medium
58 二叉搜索树中第K小的元素 6 题目 题解 题目 题解 medium
59 最小路径和 6 题目 题解 题目 题解 medium
60 阿拉伯数字转中文数字 5 题目 题解 题目 题解 medium

TODO LIST (已完成的加星号)


本站持续更新(每周一凌晨更新20份题解,每个月的1号同步CodeTop上的考频),敬请期待……

每一个的一个小小的 star 都汇聚成我更新的动力,非常感谢您的关注。

About

前端算法面试常考题目解析。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published