分类好了,刷完就好,也不多 实在不行,起码每一分类的前几项也要刷好
function
array
string
object
promise
- Promise.all
- Promise.race
- concurrentRequest|并发控制
- Promise
- asyncTogennerator
- 异步的 sum/add|字节面试|二分思想|异步|并发请求控制
DOM
常用工具函数集锦
function
object
array
- flatArrToJsonTree
- 树转数组
- 从数组中随机取出一项 sample
- shuffle
- maxBy
- keyBy
- groupBy
- chunk
- 取数组交集 intersection
- pickBy
- omitBy
正则
其他
- getType
- 版本号排序
- fetch 简单封装
- 懒计算 lazySum
- 发布订阅模式
- 观察者模式
- 分块加载大数据
- 模板字符串解析功能
- 单例模式
- 虚拟 DOM 转真实 DOM
关于算法这块,如果你之前已经系统刷过了,想复习一下的话,直接从 每周题解 开始就好了,那里面是按频率排序的
如果是小白,还是先系统的学习一下比较好,推荐代码随想录,那里挺全面的,我这里主要是面试高频题然后再分了下类。 你要是不想刷他那里这么多或者时间比较赶,相信我也没啥问题~
每一题我都有写题解,你可以搜索一下题目名字,应该能在每周题解里找到 建议先打开力扣题库,搜索题目自己先做一下~
链表经常和指针一起考察
- 二叉树前序遍历
- 二叉树中序遍历
- 二叉树后序遍历、
- 105.从前序与中序遍历序列构造二叉树.js
- 二叉树锯齿型遍历
- 二叉树最大深度
- 二叉树最小深度
- 二叉树第 k 个结点
- 对称二叉树
- 二叉树的最近公共祖先
- 二叉树中的最大路径和
二叉搜索树
- 剑指 Offer 10- I. 斐波那契数列
- 剑指 Offer 10- II. 青蛙跳台阶问题
- 300.最长递增子序列.js
- 最长重复子数组
- 322.零钱兑换.js
- 1143.最长公共子序列.js
- 53. 最大子序和.js
- 剑指 Offer 42. 连续子数组的最大和|动态规划|前缀和 这里和上一题一样,只不过第二次写题解写详细了点
- 72.编辑距离
- 121. 买卖股票的最佳时机.js
- 122.买卖股票的最佳时机-ii.js
还有一些没放上来
一开始是打算重新随便刷一下 leetcode 后来补充了一下手写题 又补充了一下一些 mini 库的实现 现在打算整理一下方便读者
感觉也挺有意思的
在 mini
文件夹
代码放在 Handwriting
文件夹,将分三部分:
- JS 基础
- 数据操作
- 常见应用 utils
之前应该算是刷了不少了
但是全部都是用 cpp 写的,现在想用 JS 再写一遍
还有就是 真的忘记了啊 太久没写算法了~
算是给 艾宾浩斯遗忘曲线 狠狠地教育了~
- 可读性
- 时间复杂度
- 空间复杂度
-
拿到题目
- 审题
- 抽象算法模型
- 思路优化
-
先写关键点(主要方法,算法标签)
-
写注释和代码
每周十题左右吧,题解按周分文件
当然来自力扣,但是具体怎么选择是根据 codeTop 直接选择前端分区按频率从高往低刷~ 这次不分类了,反正之前也刷过,最多看看题解也就捡回来了吧~这种随机的刷或许也更接近面试
这一遍算是重新用 JS 刷一次高频面试,合集仓库:okkjoo-leetcodeHot-byJs