From 1ddc6427c5b4702cb9f06df3dc2e375d41c5bde1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 12 Aug 2020 00:55:30 +0800 Subject: [PATCH 01/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&leetcode611:有效三角形的个数 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6a0439b..0bcf22f 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ - [leetcode876:求链表的中间结点](https://github.com/sisterAn/JavaScript-Algorithms/issues/15) - [leetcode19:删除链表倒数第 n 个结点](https://github.com/sisterAn/JavaScript-Algorithms/issues/16) - [图解字节&leetcode160:编写一个程序,找到两个单链表相交的起始节点](https://github.com/sisterAn/JavaScript-Algorithms/issues/17) +- [腾讯&leetcode611:有效三角形的个数](https://github.com/sisterAn/JavaScript-Algorithms/issues/93) #### 字符串 - [字节&leetcode151:翻转字符串里的单词](https://github.com/sisterAn/JavaScript-Algorithms/issues/18) @@ -128,6 +129,7 @@ - [阿里五面:说下希尔排序的过程? 希尔排序的时间复杂度和空间复杂度又是多少?](https://github.com/sisterAn/JavaScript-Algorithms/issues/75) - [腾讯&leetcode148:排序链表](https://github.com/sisterAn/JavaScript-Algorithms/issues/79) - [字节算法题:扑克牌问题(反向推导题)](https://github.com/sisterAn/JavaScript-Algorithms/issues/80) +- [腾讯&leetcode611:有效三角形的个数](https://github.com/sisterAn/JavaScript-Algorithms/issues/93) ### 查找算法 - [腾讯:简述二分查找算法与时间复杂度,并实现一个二分查找算法](https://github.com/sisterAn/JavaScript-Algorithms/issues/83) From 376f1554ae41e43c29de11851289a5e6c6ff7e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 12 Aug 2020 00:56:48 +0800 Subject: [PATCH 02/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 手写 throttle 实现 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0bcf22f..1bf425a 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,8 @@ - [解析 bind 原理,并手写 bind 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/81) - [手写 Promise 源码实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/85) - [百度:手写parseInt的实现,要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number()](https://github.com/sisterAn/JavaScript-Algorithms/issues/89) +- [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/55) +- [手写 throttle 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/82) ## 从0到1构建完整的数据结构与算法体系 From a6871d1cac3deb4ad68853cfbe66ed9ba877edc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Thu, 13 Aug 2020 23:01:17 +0800 Subject: [PATCH 03/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 字节二面&leetcode53:最大子序和 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1bf425a..2d76fc5 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,7 @@ ### 动态规划 - [字节&leetcode70:爬楼梯问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/90) - [字节&leetcode746:使用最小花费爬楼梯](https://github.com/sisterAn/JavaScript-Algorithms/issues/91) +- [字节二面&leetcode53:最大子序和](https://github.com/sisterAn/JavaScript-Algorithms/issues/94) ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From 24e629a2611375b1fcfc0f3f4d427ea347754295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Sun, 16 Aug 2020 23:32:50 +0800 Subject: [PATCH 04/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 手写一个防抖函数 debounce --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2d76fc5..ee0bcf6 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,8 @@ - [手写 Promise 源码实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/85) - [百度:手写parseInt的实现,要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number()](https://github.com/sisterAn/JavaScript-Algorithms/issues/89) - [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/55) -- [手写 throttle 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/82) +- [手写一个节流函数 throttle](https://github.com/sisterAn/JavaScript-Algorithms/issues/82) +- [手写一个防抖函数 debounce](https://github.com/sisterAn/JavaScript-Algorithms/issues/95) ## 从0到1构建完整的数据结构与算法体系 From 6090940adb04e0b6d96f65fbbe7170d9e88e80ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 19 Aug 2020 23:30:42 +0800 Subject: [PATCH 05/44] Update README.md update --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index ee0bcf6..2bf436d 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ 我是瓶子君,公众号「前端瓶子君」作者,前端进阶博客:https://github.com/sisterAn/blog -前端还要学算法?必须学,而且必须狠狠地学。现在去大厂面试,数据结构与算法已经是标配,要是不会的话,那基本与大厂无缘了。 - 作为一名前端,虽然在平常开发中很少写算法,但当我们需要深入前端框架、开发语言、开源库时,懂算法将大大提高我们看源码的能力。例如 : - virtual-dom diff 算法做了一些约定,后将原先 O(n3) 的时间复杂度降到了O(n) ,核心原理就是一个树的深度优先搜索 From 1d812913022ac0e9d34d0de6f900450f6859e8e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 19 Aug 2020 23:38:33 +0800 Subject: [PATCH 06/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&leetcode121:买卖股票的最佳时机 --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2bf436d..aeb1003 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ 所以说,学算法是每个前端进阶必备!⛽️⛽️⛽️ -现在市面上的算法资料很多,但针对前端的算法资料少之又少,所以,这里我整理了一份适用于前端的数据结构与算法系列,希望能帮助你从0到1构建完整的数据结构与算法体系。 +所以,这里我整理了一份适用于前端的数据结构与算法系列,希望能帮助你从0到1构建完整的数据结构与算法体系。 ![](http://resource.muyiy.cn/image/20200616000604.png) @@ -138,6 +138,7 @@ - [字节&leetcode70:爬楼梯问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/90) - [字节&leetcode746:使用最小花费爬楼梯](https://github.com/sisterAn/JavaScript-Algorithms/issues/91) - [字节二面&leetcode53:最大子序和](https://github.com/sisterAn/JavaScript-Algorithms/issues/94) +- [腾讯&leetcode121:买卖股票的最佳时机](https://github.com/sisterAn/JavaScript-Algorithms/issues/96) ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From e2a3432568555b7bbf9abbcf3c8321e7dbe80575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Thu, 20 Aug 2020 23:44:47 +0800 Subject: [PATCH 07/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 字节&leetcode122:买卖股票的最佳时机 II --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index aeb1003..5c0a684 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,9 @@ - [字节二面&leetcode53:最大子序和](https://github.com/sisterAn/JavaScript-Algorithms/issues/94) - [腾讯&leetcode121:买卖股票的最佳时机](https://github.com/sisterAn/JavaScript-Algorithms/issues/96) +### 贪心算法 +- [字节&leetcode122:买卖股票的最佳时机 II](https://github.com/sisterAn/JavaScript-Algorithms/issues/96) + ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) From 850a816a447f3836ae5881a96f3a2c0111b6dbf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Fri, 21 Aug 2020 10:04:45 +0000 Subject: [PATCH 08/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 链接问题 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c0a684..0c308fc 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ - [剑指Offer&leetcode110:平衡二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/44) - [字节&leetcode112:路径总和](https://github.com/sisterAn/JavaScript-Algorithms/issues/45) - [剑指Offer&leetcode101:对称二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/53) -- [字节一面:给定一个二叉树, 找到该树中两个指定节点间的最短距离](https://github.com/sisterAn/JavaScript-Algorithms/issues/83) +- [字节一面:给定一个二叉树, 找到该树中两个指定节点间的最短距离](https://github.com/sisterAn/JavaScript-Algorithms/issues/82) - [腾讯&leetcode230:二叉搜索树中第K小的元素](https://github.com/sisterAn/JavaScript-Algorithms/issues/86) ### 堆 From b6d063ffd3535b51e4f823000f40a9c75e8bea2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Sun, 23 Aug 2020 20:33:15 +0800 Subject: [PATCH 09/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 手写一个节流函数 throttle --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0c308fc..7474447 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ - [手写 Promise 源码实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/85) - [百度:手写parseInt的实现,要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number()](https://github.com/sisterAn/JavaScript-Algorithms/issues/89) - [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/55) -- [手写一个节流函数 throttle](https://github.com/sisterAn/JavaScript-Algorithms/issues/82) +- [手写一个节流函数 throttle](https://github.com/sisterAn/JavaScript-Algorithms/issues/92) - [手写一个防抖函数 debounce](https://github.com/sisterAn/JavaScript-Algorithms/issues/95) ## 从0到1构建完整的数据结构与算法体系 From 7e9c6e86b92c3fb4e1f0917724dd1c9ee7a7476c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Sun, 23 Aug 2020 21:53:20 +0800 Subject: [PATCH 10/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 手写 setTimeout 实现 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7474447..ee3c783 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,7 @@ - [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/55) - [手写一个节流函数 throttle](https://github.com/sisterAn/JavaScript-Algorithms/issues/92) - [手写一个防抖函数 debounce](https://github.com/sisterAn/JavaScript-Algorithms/issues/95) +- [手写 setTimeout 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/98) ## 从0到1构建完整的数据结构与算法体系 From 1cb8c0472b9eaf53fa2050ac89c878012137c6fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Sun, 30 Aug 2020 23:43:15 +0800 Subject: [PATCH 11/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实现一个 vue 的双向绑定 --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ee3c783..8c82afd 100644 --- a/README.md +++ b/README.md @@ -160,9 +160,10 @@ - [手写 Promise 源码实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/85) - [百度:手写parseInt的实现,要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number()](https://github.com/sisterAn/JavaScript-Algorithms/issues/89) - [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/55) -- [手写一个节流函数 throttle](https://github.com/sisterAn/JavaScript-Algorithms/issues/92) -- [手写一个防抖函数 debounce](https://github.com/sisterAn/JavaScript-Algorithms/issues/95) -- [手写 setTimeout 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/98) +- [高频:手写一个节流函数 throttle](https://github.com/sisterAn/JavaScript-Algorithms/issues/92) +- [高频:手写一个防抖函数 debounce](https://github.com/sisterAn/JavaScript-Algorithms/issues/95) +- [腾讯:介绍 setTimeout 实现机制与原理](https://github.com/sisterAn/JavaScript-Algorithms/issues/98) +- [阿里等:实现一个 vue 的双向绑定](https://github.com/sisterAn/JavaScript-Algorithms/issues/100) ## 从0到1构建完整的数据结构与算法体系 From 67286152919fb4ac1f3aa618ae697e3071233a5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Mon, 31 Aug 2020 23:55:11 +0800 Subject: [PATCH 12/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 字节:修改以下 print 函数,使之输出 0 到 99,或者 99 到 0 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8c82afd..43673a6 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,7 @@ - [编程题:用最简洁代码实现 indexOf 方法](https://github.com/sisterAn/JavaScript-Algorithms/issues/58) - [阿里编程题:实现一个方法,拆解URL参数中queryString](https://github.com/sisterAn/JavaScript-Algorithms/issues/64) - [字节:输出以下代码运行结果,为什么?如果希望每隔 1s 输出一个结果,应该如何改造?注意不可改动 square 方法](https://github.com/sisterAn/JavaScript-Algorithms/issues/69) +- [字节:修改以下 print 函数,使之输出 0 到 99,或者 99 到 0](https://github.com/sisterAn/JavaScript-Algorithms/issues/101) ### 手写源码 From 4810961835837597f48092b1813803505cf1f72b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Mon, 7 Sep 2020 07:16:56 +0800 Subject: [PATCH 13/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 字节编程题:实现一个add方法 --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 43673a6..d0f310f 100644 --- a/README.md +++ b/README.md @@ -143,8 +143,12 @@ ### 贪心算法 - [字节&leetcode122:买卖股票的最佳时机 II](https://github.com/sisterAn/JavaScript-Algorithms/issues/96) +### 回溯算法 +- [百度&leetcode46:全排列问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/102) + ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) +- [字节编程题:实现一个add方法](https://github.com/sisterAn/JavaScript-Algorithms/issues/103) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) - [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/55) - [阿里&字节:手写 async/await 的实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/56) From 061a3bfd8427b881897f1d5f1b7a6f0c9ce2e989 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Mon, 7 Sep 2020 07:25:15 +0800 Subject: [PATCH 14/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 阿里&字节:手写 async/await 的实现 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d0f310f..bc227fb 100644 --- a/README.md +++ b/README.md @@ -168,6 +168,7 @@ - [高频:手写一个节流函数 throttle](https://github.com/sisterAn/JavaScript-Algorithms/issues/92) - [高频:手写一个防抖函数 debounce](https://github.com/sisterAn/JavaScript-Algorithms/issues/95) - [腾讯:介绍 setTimeout 实现机制与原理](https://github.com/sisterAn/JavaScript-Algorithms/issues/98) +- [阿里&字节:手写 async/await 的实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/56) - [阿里等:实现一个 vue 的双向绑定](https://github.com/sisterAn/JavaScript-Algorithms/issues/100) ## 从0到1构建完整的数据结构与算法体系 From 2d015ca41c35e6b76576918c311b5b8fe8eda489 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 9 Sep 2020 08:10:00 +0800 Subject: [PATCH 15/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&leetcode43:字符串相乘 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bc227fb..8b2ab02 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,7 @@ - [百度:实现一个函数,判断输入是不是回文字符串](https://github.com/sisterAn/JavaScript-Algorithms/issues/20) - [字节&Leetcode3:无重复字符的最长子串](https://github.com/sisterAn/JavaScript-Algorithms/issues/21) - [Facebook&字节&leetcode415: 字符串相加](https://github.com/sisterAn/JavaScript-Algorithms/issues/32) +- [腾讯&leetcode43:字符串相乘](https://github.com/sisterAn/JavaScript-Algorithms/issues/105) #### 栈 - [字节&leetcode155:最小栈(包含getMin函数的栈)](https://github.com/sisterAn/JavaScript-Algorithms/issues/23) From dac454e37246899436f227ca8701c84381254cfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Fri, 11 Sep 2020 00:18:37 +0800 Subject: [PATCH 16/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 阿里异步串行编程题:按照以下要求,实现 createFlow 函数 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8b2ab02..ab61a09 100644 --- a/README.md +++ b/README.md @@ -157,6 +157,7 @@ - [阿里编程题:实现一个方法,拆解URL参数中queryString](https://github.com/sisterAn/JavaScript-Algorithms/issues/64) - [字节:输出以下代码运行结果,为什么?如果希望每隔 1s 输出一个结果,应该如何改造?注意不可改动 square 方法](https://github.com/sisterAn/JavaScript-Algorithms/issues/69) - [字节:修改以下 print 函数,使之输出 0 到 99,或者 99 到 0](https://github.com/sisterAn/JavaScript-Algorithms/issues/101) +- [阿里异步串行编程题:按照以下要求,实现 createFlow 函数 ](https://github.com/sisterAn/JavaScript-Algorithms/issues/106) ### 手写源码 From 031cbf94f97a4968c1acaf23d16e468d30941b79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Tue, 15 Sep 2020 07:26:58 +0800 Subject: [PATCH 17/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 回文子串 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ab61a09..39fe5e5 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,7 @@ - [字节&leetcode746:使用最小花费爬楼梯](https://github.com/sisterAn/JavaScript-Algorithms/issues/91) - [字节二面&leetcode53:最大子序和](https://github.com/sisterAn/JavaScript-Algorithms/issues/94) - [腾讯&leetcode121:买卖股票的最佳时机](https://github.com/sisterAn/JavaScript-Algorithms/issues/96) +- [腾讯&leetcode647:回文子串](https://github.com/sisterAn/JavaScript-Algorithms/issues/107) ### 贪心算法 - [字节&leetcode122:买卖股票的最佳时机 II](https://github.com/sisterAn/JavaScript-Algorithms/issues/96) From 23712b986e98023a0f11b9d940b53f94ae0b0378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Fri, 18 Sep 2020 08:16:47 +0800 Subject: [PATCH 18/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 百度&阿里编程题:模拟实现一个 localStorage --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 39fe5e5..18a319a 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ 所以说,学算法是每个前端进阶必备!⛽️⛽️⛽️ -所以,这里我整理了一份适用于前端的数据结构与算法系列,希望能帮助你从0到1构建完整的数据结构与算法体系。 +所以,这里我整理了一份适用于前端的数据结构与算法系列,希望能帮助你从0到1构建完整的数据结构与算法体系(此处所有的题目均来自真实前端面试)。 ![](http://resource.muyiy.cn/image/20200616000604.png) @@ -159,6 +159,7 @@ - [字节:输出以下代码运行结果,为什么?如果希望每隔 1s 输出一个结果,应该如何改造?注意不可改动 square 方法](https://github.com/sisterAn/JavaScript-Algorithms/issues/69) - [字节:修改以下 print 函数,使之输出 0 到 99,或者 99 到 0](https://github.com/sisterAn/JavaScript-Algorithms/issues/101) - [阿里异步串行编程题:按照以下要求,实现 createFlow 函数 ](https://github.com/sisterAn/JavaScript-Algorithms/issues/106) +- [百度&阿里编程题:模拟实现一个 localStorage](https://github.com/sisterAn/JavaScript-Algorithms/issues/108) ### 手写源码 From 8feef36311d88760972cc8807d8e1f75469a1191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Tue, 22 Sep 2020 06:57:56 +0800 Subject: [PATCH 19/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 手写一个发布-订阅模式 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 18a319a..513cc76 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,8 @@ - [腾讯:介绍 setTimeout 实现机制与原理](https://github.com/sisterAn/JavaScript-Algorithms/issues/98) - [阿里&字节:手写 async/await 的实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/56) - [阿里等:实现一个 vue 的双向绑定](https://github.com/sisterAn/JavaScript-Algorithms/issues/100) +- [手写 axios 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/104) +- [手写一个发布-订阅模式](https://github.com/sisterAn/JavaScript-Algorithms/issues/110) ## 从0到1构建完整的数据结构与算法体系 From 970b002f04d51b95c2152773890e1d8eabfcb56b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 23 Sep 2020 06:45:45 +0800 Subject: [PATCH 20/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 美团编程题:编写一个算法解析以下符号,转换为json树的结构 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 513cc76..b6240b6 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,7 @@ - [字节:修改以下 print 函数,使之输出 0 到 99,或者 99 到 0](https://github.com/sisterAn/JavaScript-Algorithms/issues/101) - [阿里异步串行编程题:按照以下要求,实现 createFlow 函数 ](https://github.com/sisterAn/JavaScript-Algorithms/issues/106) - [百度&阿里编程题:模拟实现一个 localStorage](https://github.com/sisterAn/JavaScript-Algorithms/issues/108) +- [美团编程题:编写一个算法解析以下符号,转换为json树的结构](https://github.com/sisterAn/JavaScript-Algorithms/issues/111) ### 手写源码 From 123c77fad5cba2bf2c59a854d8eb973739812cbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 23 Sep 2020 07:18:43 +0800 Subject: [PATCH 21/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&剑指offer09:用两个栈实现队列 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b6240b6..ebd87c7 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ - [面试真题:删除字符串中出现次数 >= 2 次的相邻字符](https://github.com/sisterAn/JavaScript-Algorithms/issues/28) #### 队列 -- [剑指offer09:用两个栈实现队列](https://github.com/sisterAn/JavaScript-Algorithms/issues/34) +- [腾讯&剑指offer09:用两个栈实现队列](https://github.com/sisterAn/JavaScript-Algorithms/issues/34) - [leetcode239:滑动窗口最大值问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/33) - [字节&leetcode151:翻转字符串里的单词](https://github.com/sisterAn/JavaScript-Algorithms/issues/18) - [字节&Leetcode3:无重复字符的最长子串](https://github.com/sisterAn/JavaScript-Algorithms/issues/21) From 16c2290906041fa38b7efdf6d09501b8b2c529a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Thu, 24 Sep 2020 07:26:58 +0800 Subject: [PATCH 22/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&leetcode875:爱吃香蕉的珂珂 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ebd87c7..42ed6df 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ - [腾讯:简述二分查找算法与时间复杂度,并实现一个二分查找算法](https://github.com/sisterAn/JavaScript-Algorithms/issues/83) - [腾讯&字节&leetcode34:在排序数组中查找元素的第一个和最后一个位置](https://github.com/sisterAn/JavaScript-Algorithms/issues/84) - [腾讯&leetcode230:二叉搜索树中第K小的元素](https://github.com/sisterAn/JavaScript-Algorithms/issues/86) +- [腾讯&leetcode875:爱吃香蕉的珂珂](https://github.com/sisterAn/JavaScript-Algorithms/issues/109) ### 动态规划 - [字节&leetcode70:爬楼梯问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/90) From c237a01d63de78705c4340b8171bf594d89848e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Thu, 24 Sep 2020 07:27:35 +0800 Subject: [PATCH 23/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&leetcode875:爱吃香蕉的珂珂 From 58e0db0ddf20e994f5c77fa1d9871d82d31fe126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Mon, 12 Oct 2020 07:23:19 +0800 Subject: [PATCH 24/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&leetcode22:括号生成 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 42ed6df..3f11124 100644 --- a/README.md +++ b/README.md @@ -148,6 +148,7 @@ ### 回溯算法 - [百度&leetcode46:全排列问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/102) +- [腾讯&leetcode22:括号生成](https://github.com/sisterAn/JavaScript-Algorithms/issues/102) ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From 9e2a63c8853d15c89cec2c889ca8a3fa59228b03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Mon, 12 Oct 2020 07:24:46 +0800 Subject: [PATCH 25/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 快手算法:链表求和 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3f11124..6b0c832 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ - [leetcode19:删除链表倒数第 n 个结点](https://github.com/sisterAn/JavaScript-Algorithms/issues/16) - [图解字节&leetcode160:编写一个程序,找到两个单链表相交的起始节点](https://github.com/sisterAn/JavaScript-Algorithms/issues/17) - [腾讯&leetcode611:有效三角形的个数](https://github.com/sisterAn/JavaScript-Algorithms/issues/93) +- [快手算法:链表求和](https://github.com/sisterAn/JavaScript-Algorithms/issues/114) #### 字符串 - [字节&leetcode151:翻转字符串里的单词](https://github.com/sisterAn/JavaScript-Algorithms/issues/18) From 0a4561832bc390936f165a1307c492be5c54e75a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Mon, 9 Nov 2020 07:12:23 +0800 Subject: [PATCH 26/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 买卖股票的最佳时机 II --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6b0c832..4eed0a4 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ - [腾讯&leetcode647:回文子串](https://github.com/sisterAn/JavaScript-Algorithms/issues/107) ### 贪心算法 -- [字节&leetcode122:买卖股票的最佳时机 II](https://github.com/sisterAn/JavaScript-Algorithms/issues/96) +- [字节&leetcode122:买卖股票的最佳时机 II](https://github.com/sisterAn/JavaScript-Algorithms/issues/97) ### 回溯算法 - [百度&leetcode46:全排列问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/102) From c333e655e6741518b25debd31befdbf8cb8cf288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Tue, 10 Nov 2020 16:42:16 +0800 Subject: [PATCH 27/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新 --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 4eed0a4..5217c91 100644 --- a/README.md +++ b/README.md @@ -102,8 +102,6 @@ - [leetcode105:从前序与中序遍历序列构造二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/41) ##### 二叉树进阶 -- [leetcode105:从前序与中序遍历序列构造二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/41) -- [leetcode105:从前序与中序遍历序列构造二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/41) - [腾讯&leetcode104:二叉树的最大深度](https://github.com/sisterAn/JavaScript-Algorithms/issues/42) - [字节&腾讯leetcode236:二叉树的最近公共祖先](https://github.com/sisterAn/JavaScript-Algorithms/issues/43) - [剑指Offer&leetcode110:平衡二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/44) From e973263e8f638ff1d1054a33044931ca0fd5f318 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 18 Nov 2020 08:08:51 +0800 Subject: [PATCH 28/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新题目 --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index 5217c91..59c66c4 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ - [图解字节&leetcode160:编写一个程序,找到两个单链表相交的起始节点](https://github.com/sisterAn/JavaScript-Algorithms/issues/17) - [腾讯&leetcode611:有效三角形的个数](https://github.com/sisterAn/JavaScript-Algorithms/issues/93) - [快手算法:链表求和](https://github.com/sisterAn/JavaScript-Algorithms/issues/114) +- [leetcode42:接雨水问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/122) #### 字符串 - [字节&leetcode151:翻转字符串里的单词](https://github.com/sisterAn/JavaScript-Algorithms/issues/18) @@ -141,9 +142,12 @@ - [字节二面&leetcode53:最大子序和](https://github.com/sisterAn/JavaScript-Algorithms/issues/94) - [腾讯&leetcode121:买卖股票的最佳时机](https://github.com/sisterAn/JavaScript-Algorithms/issues/96) - [腾讯&leetcode647:回文子串](https://github.com/sisterAn/JavaScript-Algorithms/issues/107) +- [腾讯&leetcode5:最长回文子串](https://github.com/sisterAn/JavaScript-Algorithms/issues/121) ### 贪心算法 - [字节&leetcode122:买卖股票的最佳时机 II](https://github.com/sisterAn/JavaScript-Algorithms/issues/97) +- [字节&leetcode455:分发饼干](https://github.com/sisterAn/JavaScript-Algorithms/issues/115) +- [腾讯&leetcode659:分割数组为连续子序列](https://github.com/sisterAn/JavaScript-Algorithms/issues/117) ### 回溯算法 - [百度&leetcode46:全排列问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/102) @@ -162,6 +166,15 @@ - [阿里异步串行编程题:按照以下要求,实现 createFlow 函数 ](https://github.com/sisterAn/JavaScript-Algorithms/issues/106) - [百度&阿里编程题:模拟实现一个 localStorage](https://github.com/sisterAn/JavaScript-Algorithms/issues/108) - [美团编程题:编写一个算法解析以下符号,转换为json树的结构](https://github.com/sisterAn/JavaScript-Algorithms/issues/111) +- [阿里:如何判断两个变量相等](https://github.com/sisterAn/JavaScript-Algorithms/issues/116) +- [蘑菇街:找出字符串中连续出现最多的字符和个数](https://github.com/sisterAn/JavaScript-Algorithms/issues/118) +- [字节&剑指 Offer 29:顺时针打印矩阵](https://github.com/sisterAn/JavaScript-Algorithms/issues/119) +- [编程题:以下输出顺序多少 (setTimeout 与 promise 顺序) ](https://github.com/sisterAn/JavaScript-Algorithms/issues/120) +- [腾讯算法题 ](https://github.com/sisterAn/JavaScript-Algorithms/issues/124) +- [腾讯:64匹马,8个赛道,找出跑最快的4匹马](https://github.com/sisterAn/JavaScript-Algorithms/issues/125) +- [华为:一个字符串里出现最多的字符是什么,以及出现次数](https://github.com/sisterAn/JavaScript-Algorithms/issues/126) +- [字节:N数之和](https://github.com/sisterAn/JavaScript-Algorithms/issues/128) +- [编程之美&百度&腾讯:黑球、白球各100,问最后剩下一个是黑球的概率](https://github.com/sisterAn/JavaScript-Algorithms/issues/129) ### 手写源码 @@ -179,6 +192,10 @@ - [手写 axios 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/104) - [手写一个发布-订阅模式](https://github.com/sisterAn/JavaScript-Algorithms/issues/110) +### 基础题 +- [字节:使用 CSS 画一个三角形](https://github.com/sisterAn/JavaScript-Algorithms/issues/123) +- [网易:请描述一下 cookies、 sessionStorage和localstorage区别](https://github.com/sisterAn/JavaScript-Algorithms/issues/127) + ## 从0到1构建完整的数据结构与算法体系 前端算法集训营第一期免费开营啦🎉🎉🎉,免费哟! From 09d2ff7b0115149c39f268de45c43ef94faa7dd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Tue, 24 Nov 2020 07:55:41 +0800 Subject: [PATCH 29/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯:HTTP 、 HTTPS 、 HTTP2 的区别? --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59c66c4..445e956 100644 --- a/README.md +++ b/README.md @@ -195,6 +195,7 @@ ### 基础题 - [字节:使用 CSS 画一个三角形](https://github.com/sisterAn/JavaScript-Algorithms/issues/123) - [网易:请描述一下 cookies、 sessionStorage和localstorage区别](https://github.com/sisterAn/JavaScript-Algorithms/issues/127) +- [腾讯:HTTP 、 HTTPS 、 HTTP2 的区别?](https://github.com/sisterAn/JavaScript-Algorithms/issues/131) ## 从0到1构建完整的数据结构与算法体系 From 886b344de6850f14baf7d75de3ffce19ebf48849 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Tue, 24 Nov 2020 07:57:05 +0800 Subject: [PATCH 30/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CSS 实现文本的单行和多行溢出省略效 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 445e956..41a8274 100644 --- a/README.md +++ b/README.md @@ -196,6 +196,7 @@ - [字节:使用 CSS 画一个三角形](https://github.com/sisterAn/JavaScript-Algorithms/issues/123) - [网易:请描述一下 cookies、 sessionStorage和localstorage区别](https://github.com/sisterAn/JavaScript-Algorithms/issues/127) - [腾讯:HTTP 、 HTTPS 、 HTTP2 的区别?](https://github.com/sisterAn/JavaScript-Algorithms/issues/131) +- [字节&平安:CSS 实现文本的单行和多行溢出省略效](https://github.com/sisterAn/JavaScript-Algorithms/issues/130) ## 从0到1构建完整的数据结构与算法体系 From e390627a921a6e67437628912ac7c2b05419533e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Sun, 20 Dec 2020 21:50:23 +0800 Subject: [PATCH 31/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新上周题目 --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 41a8274..b913bbc 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ - [字节&Leetcode3:无重复字符的最长子串](https://github.com/sisterAn/JavaScript-Algorithms/issues/21) - [Facebook&字节&leetcode415: 字符串相加](https://github.com/sisterAn/JavaScript-Algorithms/issues/32) - [腾讯&leetcode43:字符串相乘](https://github.com/sisterAn/JavaScript-Algorithms/issues/105) +- [腾讯&剑指Offer:字符串转换整数 (atoi)](https://github.com/sisterAn/JavaScript-Algorithms/issues/132) #### 栈 - [字节&leetcode155:最小栈(包含getMin函数的栈)](https://github.com/sisterAn/JavaScript-Algorithms/issues/23) @@ -121,6 +122,7 @@ - [leetcode997:找到小镇的法官](https://github.com/sisterAn/JavaScript-Algorithms/issues/65) - [leetcode207:课程表问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/66) - [剑指Offer&Bigo:旋转矩阵](https://github.com/sisterAn/JavaScript-Algorithms/issues/57) +- [腾讯&leetcode:螺旋矩阵 II](https://github.com/sisterAn/JavaScript-Algorithms/issues/134) ### 排序算法 - [腾讯&字节:介绍一下快排原理以及时间复杂度,并实现一个快排](https://github.com/sisterAn/JavaScript-Algorithms/issues/70) @@ -143,6 +145,7 @@ - [腾讯&leetcode121:买卖股票的最佳时机](https://github.com/sisterAn/JavaScript-Algorithms/issues/96) - [腾讯&leetcode647:回文子串](https://github.com/sisterAn/JavaScript-Algorithms/issues/107) - [腾讯&leetcode5:最长回文子串](https://github.com/sisterAn/JavaScript-Algorithms/issues/121) +- [阿里&网易&leetcode64:最小路径和](https://github.com/sisterAn/JavaScript-Algorithms/issues/139) ### 贪心算法 - [字节&leetcode122:买卖股票的最佳时机 II](https://github.com/sisterAn/JavaScript-Algorithms/issues/97) @@ -155,6 +158,10 @@ ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) +- [腾讯:不产生新数组,删除数组里的重复元素](https://github.com/sisterAn/JavaScript-Algorithms/issues/135) +- [蘑菇街:按照以下要求,写一个数组(包含对象等类型元素)去重函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/136) +- [网易&美团:实现一个 findIndex 函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/137) +- [字节:模拟实现 Array.prototype.splice](https://github.com/sisterAn/JavaScript-Algorithms/issues/138) - [字节编程题:实现一个add方法](https://github.com/sisterAn/JavaScript-Algorithms/issues/103) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) - [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/55) @@ -191,12 +198,15 @@ - [阿里等:实现一个 vue 的双向绑定](https://github.com/sisterAn/JavaScript-Algorithms/issues/100) - [手写 axios 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/104) - [手写一个发布-订阅模式](https://github.com/sisterAn/JavaScript-Algorithms/issues/110) +- [网易&美团:实现一个 findIndex 函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/137) +- [字节:模拟实现 Array.prototype.splice](https://github.com/sisterAn/JavaScript-Algorithms/issues/138) ### 基础题 - [字节:使用 CSS 画一个三角形](https://github.com/sisterAn/JavaScript-Algorithms/issues/123) - [网易:请描述一下 cookies、 sessionStorage和localstorage区别](https://github.com/sisterAn/JavaScript-Algorithms/issues/127) - [腾讯:HTTP 、 HTTPS 、 HTTP2 的区别?](https://github.com/sisterAn/JavaScript-Algorithms/issues/131) - [字节&平安:CSS 实现文本的单行和多行溢出省略效](https://github.com/sisterAn/JavaScript-Algorithms/issues/130) +- [腾讯:简述一下用户访问网站的过程(缓存,DNS查询,建立链接,请求,响应,收到页面,解析DOM树,显示内容,首屏加载完成,可交互)](https://github.com/sisterAn/JavaScript-Algorithms/issues/133) ## 从0到1构建完整的数据结构与算法体系 From 45639991bc98f38a2c17752f533deaba686e12cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Mon, 25 Jan 2021 12:45:36 +0000 Subject: [PATCH 32/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 题号错乱 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b913bbc..0bd3115 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,7 @@ ### 回溯算法 - [百度&leetcode46:全排列问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/102) -- [腾讯&leetcode22:括号生成](https://github.com/sisterAn/JavaScript-Algorithms/issues/102) +- [腾讯&leetcode22:括号生成](https://github.com/sisterAn/JavaScript-Algorithms/issues/112) ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From 11051505a6951ed6eee40e92b2676a020bbc230a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Tue, 2 Mar 2021 11:05:46 +0800 Subject: [PATCH 33/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 题库更新 --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 0bd3115..430380c 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,7 @@ - [剑指Offer&leetcode101:对称二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/53) - [字节一面:给定一个二叉树, 找到该树中两个指定节点间的最短距离](https://github.com/sisterAn/JavaScript-Algorithms/issues/82) - [腾讯&leetcode230:二叉搜索树中第K小的元素](https://github.com/sisterAn/JavaScript-Algorithms/issues/86) +- [二叉树的左右子树交换](https://github.com/sisterAn/JavaScript-Algorithms/issues/141) ### 堆 - [腾讯&字节等:最小的k个数](https://github.com/sisterAn/JavaScript-Algorithms/issues/59) @@ -182,6 +183,10 @@ - [华为:一个字符串里出现最多的字符是什么,以及出现次数](https://github.com/sisterAn/JavaScript-Algorithms/issues/126) - [字节:N数之和](https://github.com/sisterAn/JavaScript-Algorithms/issues/128) - [编程之美&百度&腾讯:黑球、白球各100,问最后剩下一个是黑球的概率](https://github.com/sisterAn/JavaScript-Algorithms/issues/129) +- [给你一个数组[2,1,2,4,3],你返回数组 [4,2,4,−1,−1]](https://github.com/sisterAn/JavaScript-Algorithms/issues/142) +- [腾讯:字符串的数字相加](https://github.com/sisterAn/JavaScript-Algorithms/issues/143) +- [找出一个字符串中的不匹配括号的位置,以json形式输出,位置index从0开始](https://github.com/sisterAn/JavaScript-Algorithms/issues/144) +- [基础题,直接写出答案](https://github.com/sisterAn/JavaScript-Algorithms/issues/146) ### 手写源码 @@ -195,11 +200,13 @@ - [高频:手写一个防抖函数 debounce](https://github.com/sisterAn/JavaScript-Algorithms/issues/95) - [腾讯:介绍 setTimeout 实现机制与原理](https://github.com/sisterAn/JavaScript-Algorithms/issues/98) - [阿里&字节:手写 async/await 的实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/56) +- [async await 和 promise 的关系](https://github.com/sisterAn/JavaScript-Algorithms/issues/149) - [阿里等:实现一个 vue 的双向绑定](https://github.com/sisterAn/JavaScript-Algorithms/issues/100) - [手写 axios 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/104) - [手写一个发布-订阅模式](https://github.com/sisterAn/JavaScript-Algorithms/issues/110) - [网易&美团:实现一个 findIndex 函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/137) - [字节:模拟实现 Array.prototype.splice](https://github.com/sisterAn/JavaScript-Algorithms/issues/138) +- [介绍 Redux 原理,并手写一个 Redux](https://github.com/sisterAn/JavaScript-Algorithms/issues/140) ### 基础题 - [字节:使用 CSS 画一个三角形](https://github.com/sisterAn/JavaScript-Algorithms/issues/123) @@ -207,6 +214,11 @@ - [腾讯:HTTP 、 HTTPS 、 HTTP2 的区别?](https://github.com/sisterAn/JavaScript-Algorithms/issues/131) - [字节&平安:CSS 实现文本的单行和多行溢出省略效](https://github.com/sisterAn/JavaScript-Algorithms/issues/130) - [腾讯:简述一下用户访问网站的过程(缓存,DNS查询,建立链接,请求,响应,收到页面,解析DOM树,显示内容,首屏加载完成,可交互)](https://github.com/sisterAn/JavaScript-Algorithms/issues/133) +- [介绍一下浏览器缓存策略](https://github.com/sisterAn/JavaScript-Algorithms/issues/150) +- [es6 及 es6+ 的能力集,你最常用的,这其中最有用的,都解决了什么问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/147) +- [react 与 vue 的技术栈对比,说下区别](https://github.com/sisterAn/JavaScript-Algorithms/issues/148) +- [react16新增了哪些生命周期、有什么作用,为什么去掉某些15的生命周期](https://github.com/sisterAn/JavaScript-Algorithms/issues/153) +- [前端性能优化](https://github.com/sisterAn/JavaScript-Algorithms/issues/152) ## 从0到1构建完整的数据结构与算法体系 From afc2eb5daa1be4ca36692dde5bf87bc10263c27d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 3 Mar 2021 22:57:31 +0800 Subject: [PATCH 34/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit http 301 302 307之间的区别 --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 430380c..ab3d0d7 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ 所以说,学算法是每个前端进阶必备!⛽️⛽️⛽️ -所以,这里我整理了一份适用于前端的数据结构与算法系列,希望能帮助你从0到1构建完整的数据结构与算法体系(此处所有的题目均来自真实前端面试)。 +所以,这里我整理了一份适用于前端的数据结构与算法系列,希望能帮助你从0到1构建完整的数据结构与算法体系(**此处所有的题目均来自真实前端面试**)。 ![](http://resource.muyiy.cn/image/20200616000604.png) @@ -219,6 +219,7 @@ - [react 与 vue 的技术栈对比,说下区别](https://github.com/sisterAn/JavaScript-Algorithms/issues/148) - [react16新增了哪些生命周期、有什么作用,为什么去掉某些15的生命周期](https://github.com/sisterAn/JavaScript-Algorithms/issues/153) - [前端性能优化](https://github.com/sisterAn/JavaScript-Algorithms/issues/152) +- [http 301 302 307之间的区别](https://github.com/sisterAn/JavaScript-Algorithms/issues/154) ## 从0到1构建完整的数据结构与算法体系 From bb824e590f89f2ff61a94096f2b77a065b1de6fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Tue, 27 Apr 2021 00:41:57 +0800 Subject: [PATCH 35/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 线上 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ab3d0d7..d506b1f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ 我是瓶子君,公众号「前端瓶子君」作者,前端进阶博客:https://github.com/sisterAn/blog +[线上版本阅读更流畅,点击阅读](https://www.pzijun.cn/) + 作为一名前端,虽然在平常开发中很少写算法,但当我们需要深入前端框架、开发语言、开源库时,懂算法将大大提高我们看源码的能力。例如 : - virtual-dom diff 算法做了一些约定,后将原先 O(n3) 的时间复杂度降到了O(n) ,核心原理就是一个树的深度优先搜索 From 6a8dede1880cd1fb056ff4fc2d75354f8a0cf217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 28 Jul 2021 07:58:58 +0800 Subject: [PATCH 36/44] Update README.md N --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d506b1f..324af73 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ - [图解leetcode88:合并两个有序数组](https://github.com/sisterAn/JavaScript-Algorithms/issues/3) - [字节&leetcode1:两数之和](https://github.com/sisterAn/JavaScript-Algorithms/issues/4) - [腾讯&leetcode15:三数之和](https://github.com/sisterAn/JavaScript-Algorithms/issues/31) +- [字节:N数之和](https://github.com/sisterAn/JavaScript-Algorithms/issues/128) - [腾讯:数组扁平化、去重、排序 ](https://github.com/sisterAn/JavaScript-Algorithms/issues/5) - [leetcode349:给定两个数组,编写一个函数来计算它们的交集](https://github.com/sisterAn/JavaScript-Algorithms/issues/6) - [华为&leetcode146:设计和实现一个LRU(最近最少使用)缓存机制](https://github.com/sisterAn/JavaScript-Algorithms/issues/7) From 2caacddd29a33b843ec62d2a3c1e460358923f22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 27 Oct 2021 07:29:59 +0800 Subject: [PATCH 37/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新 --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 324af73..d72d866 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,10 @@ - [前端进阶算法9:看完这篇,再也不怕堆排序、Top K、中位数问题面试了](https://github.com/sisterAn/JavaScript-Algorithms/issues/60) - [前端进阶算法10:别再说你不懂topk问题了](https://github.com/sisterAn/JavaScript-Algorithms/issues/73) - [前端进阶算法11:二叉查找树(BST树)](https://github.com/sisterAn/JavaScript-Algorithms/issues/87) +- [前端进阶算法12:数据结构与算法中的字符串](https://mp.weixin.qq.com/s/PzoR-Yl1kqAfdPExOCLikQ) +- [前端进阶算法13:一次搞定九大排序策略](https://mp.weixin.qq.com/s/fMmo2ybLWuPpZvmB6uZo_w) +- [前端进阶算法14:解读最常见的三大查找结构](https://mp.weixin.qq.com/s/8Ce63WfUAt5e2jmnN-RGJQ) +- [前端进阶算法15:95% 的算法都是基于这 6 种算法思想](https://mp.weixin.qq.com/s/gC-w-4_FfGxtfQ79mtpbFg) 想要更多更快的学习本系列,可以关注公众号「前端瓶子君」😊😊😊 From ab85da4a59f9ebbde6621e47c7ddc840456419d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Mon, 7 Mar 2022 21:41:19 +0800 Subject: [PATCH 38/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化 --- README.md | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/README.md b/README.md index d72d866..83d0471 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # JavaScript-Algorithms -我是瓶子君,公众号「前端瓶子君」作者,前端进阶博客:https://github.com/sisterAn/blog +我是瓶子君,前端进阶博客:https://github.com/sisterAn/blog [线上版本阅读更流畅,点击阅读](https://www.pzijun.cn/) @@ -228,14 +228,3 @@ - [前端性能优化](https://github.com/sisterAn/JavaScript-Algorithms/issues/152) - [http 301 302 307之间的区别](https://github.com/sisterAn/JavaScript-Algorithms/issues/154) -## 从0到1构建完整的数据结构与算法体系 - -前端算法集训营第一期免费开营啦🎉🎉🎉,免费哟! - -在这里,瓶子君不仅介绍算法,还将算法与前端各个领域进行结合,包括浏览器、HTTP、V8、React、Vue源码等。 - -在这里,你可以每天学习一道大厂算法题(阿里、腾讯、百度、字节等等)或 leetcode,瓶子君都会在第二天解答哟! - - -扫码关注公众号【前端瓶子君】,回复【算法】,拉你进前端算法集训营 -![](http://resource.muyiy.cn/image/20200424231501.png) From 2a355c2d93e440e25f48969f910a128be3f55522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Wed, 9 Mar 2022 23:23:19 +0800 Subject: [PATCH 39/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新目录 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 83d0471..24b5bff 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,6 @@ - [前端进阶算法1:如何分析、统计算法的执行效率和资源消耗?](https://github.com/sisterAn/JavaScript-Algorithms/issues/1) - [前端进阶算法2:从Chrome V8源码看JavaScript数组(附赠腾讯面试题)](https://github.com/sisterAn/JavaScript-Algorithms/issues/2) -- [瓶子君前端算法集训营第一期开营啦,免费哟](https://mp.weixin.qq.com/s/dQu7Re-DesCr6S8He3AOfQ) - [前端进阶算法3:从浏览器缓存淘汰策略和Vue的keep-alive学习LRU算法](https://github.com/sisterAn/JavaScript-Algorithms/issues/9) - [前端进阶算法4:链表原来如此简单(+leetcode刷题)](https://github.com/sisterAn/JavaScript-Algorithms/issues/12) - [10 问 10 答,带你快速入门前端算法](https://mp.weixin.qq.com/s/i8NbR1LjqhQEPxOILPSacA) From 0e4c58151183264c806726b66396b7a0f2db5e29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Fri, 8 Apr 2022 00:05:18 +0800 Subject: [PATCH 40/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit useState实现 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24b5bff..e8acabc 100644 --- a/README.md +++ b/README.md @@ -213,6 +213,7 @@ - [网易&美团:实现一个 findIndex 函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/137) - [字节:模拟实现 Array.prototype.splice](https://github.com/sisterAn/JavaScript-Algorithms/issues/138) - [介绍 Redux 原理,并手写一个 Redux](https://github.com/sisterAn/JavaScript-Algorithms/issues/140) +- [手写 useState 实现](https://github.com/sisterAn/blog/issues/130) ### 基础题 - [字节:使用 CSS 画一个三角形](https://github.com/sisterAn/JavaScript-Algorithms/issues/123) From 7de1f035f12e048b438280aad5d823894f808cdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Tue, 19 Apr 2022 17:00:24 +0800 Subject: [PATCH 41/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 变更 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e8acabc..97dfaa3 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,7 @@ - [leetcode207:课程表问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/66) - [剑指Offer&Bigo:旋转矩阵](https://github.com/sisterAn/JavaScript-Algorithms/issues/57) - [腾讯&leetcode:螺旋矩阵 II](https://github.com/sisterAn/JavaScript-Algorithms/issues/134) +- [字节&剑指 Offer 29:顺时针打印矩阵](https://github.com/sisterAn/JavaScript-Algorithms/issues/119) ### 排序算法 - [腾讯&字节:介绍一下快排原理以及时间复杂度,并实现一个快排](https://github.com/sisterAn/JavaScript-Algorithms/issues/70) From da8b85844b8b945746cb12d98076307db58c39d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Thu, 21 Apr 2022 15:55:25 +0800 Subject: [PATCH 42/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 贪心 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 97dfaa3..0a31226 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ - [前端进阶算法13:一次搞定九大排序策略](https://mp.weixin.qq.com/s/fMmo2ybLWuPpZvmB6uZo_w) - [前端进阶算法14:解读最常见的三大查找结构](https://mp.weixin.qq.com/s/8Ce63WfUAt5e2jmnN-RGJQ) - [前端进阶算法15:95% 的算法都是基于这 6 种算法思想](https://mp.weixin.qq.com/s/gC-w-4_FfGxtfQ79mtpbFg) +- [前端进阶算法16:贪心算法套路问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/171) 想要更多更快的学习本系列,可以关注公众号「前端瓶子君」😊😊😊 From 8fe6734f29294537e7d717b045daaabe094adf86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Sat, 23 Apr 2022 16:33:47 +0800 Subject: [PATCH 43/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新目录 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0a31226..a1f80c8 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,6 @@ - [腾讯:介绍 setTimeout 实现机制与原理](https://github.com/sisterAn/JavaScript-Algorithms/issues/98) - [阿里&字节:手写 async/await 的实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/56) - [async await 和 promise 的关系](https://github.com/sisterAn/JavaScript-Algorithms/issues/149) -- [阿里等:实现一个 vue 的双向绑定](https://github.com/sisterAn/JavaScript-Algorithms/issues/100) - [手写 axios 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/104) - [手写一个发布-订阅模式](https://github.com/sisterAn/JavaScript-Algorithms/issues/110) - [网易&美团:实现一个 findIndex 函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/137) From c435beea7c86da8cc65d512ec70dc8b42068e141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=93=B6=E5=AD=90=E5=90=9B?= <2298060818@qq.com> Date: Sat, 23 Apr 2022 17:51:58 +0800 Subject: [PATCH 44/44] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新目录 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a1f80c8..ca7bd92 100644 --- a/README.md +++ b/README.md @@ -213,7 +213,6 @@ - [手写一个发布-订阅模式](https://github.com/sisterAn/JavaScript-Algorithms/issues/110) - [网易&美团:实现一个 findIndex 函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/137) - [字节:模拟实现 Array.prototype.splice](https://github.com/sisterAn/JavaScript-Algorithms/issues/138) -- [介绍 Redux 原理,并手写一个 Redux](https://github.com/sisterAn/JavaScript-Algorithms/issues/140) - [手写 useState 实现](https://github.com/sisterAn/blog/issues/130) ### 基础题