From 1de1b5eef25d5a44234771ea82cf82228536dee3 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 May 2020 23:41:41 +0800 Subject: [PATCH 01/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 剑指Offer&leetcode101:对称二叉树 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91debbf..51865b8 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,7 @@ - [字节&腾讯leetcode236:二叉树的最近公共祖先](https://github.com/sisterAn/JavaScript-Algorithms/issues/43) - [剑指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) #### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From d895c2b3550b61d5560a5225c1c76b4637cd0c80 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 May 2020 23:59:18 +0800 Subject: [PATCH 02/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 百度:什么是浅复制和深复制?有什么区别?如何实现 Object 的深复制 --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 51865b8..f51dee9 100644 --- a/README.md +++ b/README.md @@ -80,11 +80,19 @@ - [剑指Offer:第一个只出现一次的字符](https://github.com/sisterAn/JavaScript-Algorithms/issues/50) #### 二叉树 + +##### 二叉树的遍历 - [字节&leetcode144:二叉树的前序遍历](https://github.com/sisterAn/JavaScript-Algorithms/issues/37) - [字节&leetcode94:二叉树的中序遍历](https://github.com/sisterAn/JavaScript-Algorithms/issues/38) - [字节&leetcode145:二叉树的后序遍历](https://github.com/sisterAn/JavaScript-Algorithms/issues/40) - [leetcode102:二叉树的层序遍历](https://github.com/sisterAn/JavaScript-Algorithms/issues/47) - [字节&leetcode107:二叉树的层次遍历](https://github.com/sisterAn/JavaScript-Algorithms/issues/46) + +##### 重构二叉树 +- [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) @@ -95,6 +103,7 @@ #### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) +- [百度:什么是浅复制和深复制?有什么区别?如何实现 Object 的深复制](https://github.com/sisterAn/JavaScript-Algorithms/issues/54) ## 从0到1构建完整的数据结构与算法体系 From 9ef4267424f344f894eaa04ed4dd411b93d4897e 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, 28 May 2020 00:06:03 +0800 Subject: [PATCH 03/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f51dee9..7b5453e 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ #### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) -- [百度:什么是浅复制和深复制?有什么区别?如何实现 Object 的深复制](https://github.com/sisterAn/JavaScript-Algorithms/issues/54) +- [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/54) ## 从0到1构建完整的数据结构与算法体系 From 90e2088e9487aa5e7207df98c738e0889777f8c0 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, 28 May 2020 23:04:33 +0800 Subject: [PATCH 04/75] 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 7b5453e..2bf1db5 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) - [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/54) +- [阿里&字节:手写 async/await 的实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/56) ## 从0到1构建完整的数据结构与算法体系 From 292948fe8499ab3a4941196b2037c3cb202e4559 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 Jun 2020 22:54:23 +0800 Subject: [PATCH 05/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&字节等:最小的k个数 --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 2bf1db5..bccbbb3 100644 --- a/README.md +++ b/README.md @@ -100,11 +100,18 @@ - [字节&leetcode112:路径总和](https://github.com/sisterAn/JavaScript-Algorithms/issues/45) - [剑指Offer&leetcode101:对称二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/53) +### 堆 +- [腾讯&字节等:最小的k个数](https://github.com/sisterAn/JavaScript-Algorithms/issues/59) + +### 图 +- [剑指Offer&Bigo:旋转矩阵](https://github.com/sisterAn/JavaScript-Algorithms/issues/57) + #### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) - [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/54) - [阿里&字节:手写 async/await 的实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/56) +- [编程题:用最简洁代码实现 indexOf 方法](https://github.com/sisterAn/JavaScript-Algorithms/issues/58) ## 从0到1构建完整的数据结构与算法体系 From 1323dde38b863a4e1f9e6258e5dd8c0e1f01db88 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 Jun 2020 21:14:23 +0800 Subject: [PATCH 06/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端进阶算法9:看完这篇,再也不怕堆排序、Top K、中位数问题面试了 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bccbbb3..6f9de44 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ - [前端进阶算法6:一看就懂的队列及配套算法题](https://github.com/sisterAn/JavaScript-Algorithms/issues/35) - [前端进阶算法7:头条正在面的哈希表问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/49) - [前端进阶算法8:小白都可以看懂的树与二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/39) +- [前端进阶算法9:看完这篇,再也不怕堆排序、Top K、中位数问题面试了](https://github.com/sisterAn/JavaScript-Algorithms/issues/60) 想要更多更快的学习本系列,可以关注公众号「前端瓶子君」😊😊😊 From 13238eec6a80e61c8c6b204f9f46ccd53b133a89 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, 4 Jun 2020 00:32:17 +0800 Subject: [PATCH 07/75] 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 6f9de44..1632830 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,13 @@ - [前端进阶算法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) +- [视频面试超高频在线编程题,搞懂这些足以应对大部分公司](https://mp.weixin.qq.com/s/1LnvjVWpKA-RuUGsh23bSw) - [前端进阶算法5:全方位解读前端用到的栈结构(调用栈、堆、垃圾回收等)](https://github.com/sisterAn/JavaScript-Algorithms/issues/24) +- [前端进阶算法:常见算法题及完美题解](https://mp.weixin.qq.com/s/_pDPaf-GBLsMCNp_-MsWfg) - [前端进阶算法6:一看就懂的队列及配套算法题](https://github.com/sisterAn/JavaScript-Algorithms/issues/35) - [前端进阶算法7:头条正在面的哈希表问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/49) - [前端进阶算法8:小白都可以看懂的树与二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/39) From 02c22430b3a8e4e67c5b2e88c73f9e3528eada20 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, 11 Jun 2020 07:50:48 +0800 Subject: [PATCH 08/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 堆 --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 1632830..fee3fda 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,9 @@ ### 堆 - [腾讯&字节等:最小的k个数](https://github.com/sisterAn/JavaScript-Algorithms/issues/59) +- [leetcode347:前 K 个高频元素](https://github.com/sisterAn/JavaScript-Algorithms/issues/61) +- [字节&leetcode215:数组中的第K个最大元素](https://github.com/sisterAn/JavaScript-Algorithms/issues/62) +- [剑指Offer&leetcode295:数据流的中位数](https://github.com/sisterAn/JavaScript-Algorithms/issues/63) ### 图 - [剑指Offer&Bigo:旋转矩阵](https://github.com/sisterAn/JavaScript-Algorithms/issues/57) From b198cfb1244367061872c0cbf689bd6cbf01b7d0 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, 14 Jun 2020 23:51:47 +0800 Subject: [PATCH 09/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 阿里编程题:实现一个方法,拆解URL参数中queryString --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fee3fda..97fc1c9 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,7 @@ - [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/54) - [阿里&字节:手写 async/await 的实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/56) - [编程题:用最简洁代码实现 indexOf 方法](https://github.com/sisterAn/JavaScript-Algorithms/issues/58) +- [阿里编程题:实现一个方法,拆解URL参数中queryString](https://github.com/sisterAn/JavaScript-Algorithms/issues/64) ## 从0到1构建完整的数据结构与算法体系 From 5a74e918e599ef006b80e5e2c18de324c180ee57 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, 17 Jun 2020 08:14:56 +0800 Subject: [PATCH 10/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit leetcode997:找到小镇的法官 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 97fc1c9..2cb9686 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,7 @@ - [剑指Offer&leetcode295:数据流的中位数](https://github.com/sisterAn/JavaScript-Algorithms/issues/63) ### 图 +- [leetcode997:找到小镇的法官](https://github.com/sisterAn/JavaScript-Algorithms/issues/65) - [剑指Offer&Bigo:旋转矩阵](https://github.com/sisterAn/JavaScript-Algorithms/issues/57) #### 编程题 From 164a3c1e4624839a3e6e479b0d7e343b520d85a8 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, 18 Jun 2020 00:06:19 +0800 Subject: [PATCH 11/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit leetcode207:课程表问题 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2cb9686..98cf5ac 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,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) #### 编程题 From 6d1ac72988d4331433a77a0471de0d748db5db36 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, 21 Jun 2020 23:47:37 +0800 Subject: [PATCH 12/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 字节:输出以下代码运行结果,为什么?如果希望每隔 1s 输出一个结果,应该如何改造?注意不可改动 square 方法 --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 98cf5ac..d2cb165 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,8 @@ 现在市面上的算法资料很多,但针对前端的算法资料少之又少,所以,这里我整理了一份适用于前端的数据结构与算法系列,希望能帮助你从0到1构建完整的数据结构与算法体系。 +![](http://resource.muyiy.cn/image/20200616000604.png) + 本系列预估一共有40多篇: - [前端进阶算法1:如何分析、统计算法的执行效率和资源消耗?](https://github.com/sisterAn/JavaScript-Algorithms/issues/1) @@ -123,6 +125,7 @@ - [阿里&字节:手写 async/await 的实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/56) - [编程题:用最简洁代码实现 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) ## 从0到1构建完整的数据结构与算法体系 From f938a199cd09a77036fbda1b520b19e790d256b3 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, 24 Jun 2020 00:00:13 +0800 Subject: [PATCH 13/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&字节:介绍一下快排原理以及时间复杂度,并实现一个快排 --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index d2cb165..3e1435c 100644 --- a/README.md +++ b/README.md @@ -118,6 +118,9 @@ - [leetcode207:课程表问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/66) - [剑指Offer&Bigo:旋转矩阵](https://github.com/sisterAn/JavaScript-Algorithms/issues/57) +### 排序算法 +- [腾讯&字节:介绍一下快排原理以及时间复杂度,并实现一个快排](https://github.com/sisterAn/JavaScript-Algorithms/issues/70) + #### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) From 4594791bebe48fc42c08fc163815370a185c2497 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, 27 Jun 2020 21:55:56 +0800 Subject: [PATCH 14/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 手写源码系列 --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e1435c..8e82679 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ ### 排序算法 - [腾讯&字节:介绍一下快排原理以及时间复杂度,并实现一个快排](https://github.com/sisterAn/JavaScript-Algorithms/issues/70) -#### 编程题 +### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) - [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/54) @@ -131,6 +131,9 @@ - [字节:输出以下代码运行结果,为什么?如果希望每隔 1s 输出一个结果,应该如何改造?注意不可改动 square 方法](https://github.com/sisterAn/JavaScript-Algorithms/issues/69) +### 手写源码 +- [字节:模拟实现 new 操作符](https://github.com/sisterAn/JavaScript-Algorithms/issues/71) + ## 从0到1构建完整的数据结构与算法体系 前端算法集训营第一期免费开营啦🎉🎉🎉,免费哟! From 12ef78137fdd3878f64ace45ccd89d81c7ca283c 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, 30 Jun 2020 21:44:46 +0800 Subject: [PATCH 15/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端进阶算法10:别再说你不懂topk问题了 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e82679..2443ced 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ - [前端进阶算法7:头条正在面的哈希表问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/49) - [前端进阶算法8:小白都可以看懂的树与二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/39) - [前端进阶算法9:看完这篇,再也不怕堆排序、Top K、中位数问题面试了](https://github.com/sisterAn/JavaScript-Algorithms/issues/60) +- [前端进阶算法10:别再说你不懂topk问题了](https://github.com/sisterAn/JavaScript-Algorithms/issues/73) 想要更多更快的学习本系列,可以关注公众号「前端瓶子君」😊😊😊 From 0c1d2269d5d5d8c42ee43183c8920f13e762c350 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, 3 Jul 2020 00:08:58 +0800 Subject: [PATCH 16/75] 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 2443ced..9d2fc4f 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,7 @@ ### 排序算法 - [腾讯&字节:介绍一下快排原理以及时间复杂度,并实现一个快排](https://github.com/sisterAn/JavaScript-Algorithms/issues/70) +- [字节&阿里&网易&leetcode384:打乱数组(洗牌算法)](https://github.com/sisterAn/JavaScript-Algorithms/issues/74) ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From 0df9749f21d65452d240cbe3529ae9dc1f83ba3c 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, 6 Jul 2020 00:04:07 +0800 Subject: [PATCH 17/75] 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 9d2fc4f..d7c238c 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,7 @@ ### 排序算法 - [腾讯&字节:介绍一下快排原理以及时间复杂度,并实现一个快排](https://github.com/sisterAn/JavaScript-Algorithms/issues/70) - [字节&阿里&网易&leetcode384:打乱数组(洗牌算法)](https://github.com/sisterAn/JavaScript-Algorithms/issues/74) +- [阿里五面:说下希尔排序的过程? 希尔排序的时间复杂度和空间复杂度又是多少?](https://github.com/sisterAn/JavaScript-Algorithms/issues/75) ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From a13f134a9f9de0276b35bf05e432dfb09e2e5c5c 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, 6 Jul 2020 00:11:14 +0800 Subject: [PATCH 18/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 解析 call/apply 原理,并手写 call/apply 实现 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d7c238c..abc8ca0 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,7 @@ ### 手写源码 - [字节:模拟实现 new 操作符](https://github.com/sisterAn/JavaScript-Algorithms/issues/71) +- [解析 call/apply 原理,并手写 call/apply 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/78) ## 从0到1构建完整的数据结构与算法体系 From 545f4d2184cba64bdc2c1f1b2fbc62cb066f8497 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, 8 Jul 2020 00:18:55 +0800 Subject: [PATCH 19/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&leetcode148:排序链表 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index abc8ca0..44e6740 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ - [腾讯&字节:介绍一下快排原理以及时间复杂度,并实现一个快排](https://github.com/sisterAn/JavaScript-Algorithms/issues/70) - [字节&阿里&网易&leetcode384:打乱数组(洗牌算法)](https://github.com/sisterAn/JavaScript-Algorithms/issues/74) - [阿里五面:说下希尔排序的过程? 希尔排序的时间复杂度和空间复杂度又是多少?](https://github.com/sisterAn/JavaScript-Algorithms/issues/75) +- [腾讯&leetcode148:排序链表](https://github.com/sisterAn/JavaScript-Algorithms/issues/79) ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From c655f6adfea7232b02be099be95828e04a40b201 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, 9 Jul 2020 22:06:49 +0800 Subject: [PATCH 20/75] 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 44e6740..e03d53d 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,7 @@ - [字节&阿里&网易&leetcode384:打乱数组(洗牌算法)](https://github.com/sisterAn/JavaScript-Algorithms/issues/74) - [阿里五面:说下希尔排序的过程? 希尔排序的时间复杂度和空间复杂度又是多少?](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) ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From 91de150801de14e7da346a9f288dae986e65044f 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, 12 Jul 2020 22:30:22 +0800 Subject: [PATCH 21/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 解析 bind 原理,并手写 bind 实现 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e03d53d..b37b91e 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,7 @@ ### 手写源码 - [字节:模拟实现 new 操作符](https://github.com/sisterAn/JavaScript-Algorithms/issues/71) - [解析 call/apply 原理,并手写 call/apply 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/78) +- [解析 bind 原理,并手写 bind 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/81) ## 从0到1构建完整的数据结构与算法体系 From 789106a57dd4ff2acaa7909268622942a2116128 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, 13 Jul 2020 22:56:01 +0800 Subject: [PATCH 22/75] 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 b37b91e..5e3a24c 100644 --- a/README.md +++ b/README.md @@ -107,6 +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) ### 堆 - [腾讯&字节等:最小的k个数](https://github.com/sisterAn/JavaScript-Algorithms/issues/59) From 2986ac1b9d917c87450f5e9819a051b3365533d6 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, 15 Jul 2020 21:35:16 +0800 Subject: [PATCH 23/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯:简述二分查找算法与时间复杂度,并实现一个二分查找算法 --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 5e3a24c..3cd2f07 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,9 @@ - [腾讯&leetcode148:排序链表](https://github.com/sisterAn/JavaScript-Algorithms/issues/79) - [字节算法题:扑克牌问题(反向推导题)](https://github.com/sisterAn/JavaScript-Algorithms/issues/80) +### 查找算法 +- [腾讯:简述二分查找算法与时间复杂度,并实现一个二分查找算法](https://github.com/sisterAn/JavaScript-Algorithms/issues/83) + ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) From 9df1f4aa1e98d13f727e9685d6212ffe25cd7553 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, 16 Jul 2020 21:04:27 +0800 Subject: [PATCH 24/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&字节&leetcode34:在排序数组中查找元素的第一个和最后一个位置 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3cd2f07..fa374de 100644 --- a/README.md +++ b/README.md @@ -129,6 +129,7 @@ ### 查找算法 - [腾讯:简述二分查找算法与时间复杂度,并实现一个二分查找算法](https://github.com/sisterAn/JavaScript-Algorithms/issues/83) +- [腾讯&字节&leetcode34:在排序数组中查找元素的第一个和最后一个位置](https://github.com/sisterAn/JavaScript-Algorithms/issues/84) ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From 6468283204045e7e078867f7ee771072f66d30df 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, 19 Jul 2020 23:42:29 +0800 Subject: [PATCH 25/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 手写 Promise 源码实现 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fa374de..d695716 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,7 @@ - [字节:模拟实现 new 操作符](https://github.com/sisterAn/JavaScript-Algorithms/issues/71) - [解析 call/apply 原理,并手写 call/apply 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/78) - [解析 bind 原理,并手写 bind 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/81) +- [手写 Promise 源码实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/85) ## 从0到1构建完整的数据结构与算法体系 From 12c46f40c2cec9370b835ee95e796625f180a411 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, 21 Jul 2020 20:32:12 +0800 Subject: [PATCH 26/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BST树 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d695716..52a1f6c 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ - [前端进阶算法8:小白都可以看懂的树与二叉树](https://github.com/sisterAn/JavaScript-Algorithms/issues/39) - [前端进阶算法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) 想要更多更快的学习本系列,可以关注公众号「前端瓶子君」😊😊😊 From 64bdebab3109dda5c3d81393e9baebaabbb95019 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, 21 Jul 2020 21:39:38 +0800 Subject: [PATCH 27/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯&leetcode230:二叉搜索树中第K小的元素 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 52a1f6c..bd8737c 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ - [字节&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) +- [腾讯&leetcode230:二叉搜索树中第K小的元素](https://github.com/sisterAn/JavaScript-Algorithms/issues/86) ### 堆 - [腾讯&字节等:最小的k个数](https://github.com/sisterAn/JavaScript-Algorithms/issues/59) @@ -131,6 +132,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) ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) From 296985ddffcd3cafc7d69c25d6426709197e4dc2 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, 28 Jul 2020 08:09:27 +0800 Subject: [PATCH 28/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bd8737c..c535681 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) -- [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/54) +- [百度:什么是浅拷贝和深拷贝?有什么区别?如何实现 Object 的深拷贝](https://github.com/sisterAn/JavaScript-Algorithms/issues/55) - [阿里&字节:手写 async/await 的实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/56) - [编程题:用最简洁代码实现 indexOf 方法](https://github.com/sisterAn/JavaScript-Algorithms/issues/58) - [阿里编程题:实现一个方法,拆解URL参数中queryString](https://github.com/sisterAn/JavaScript-Algorithms/issues/64) From 76547f8a81314bda543ce64368f2471d4aef0ab3 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, 29 Jul 2020 08:13:49 +0800 Subject: [PATCH 29/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 手写parseInt的实现 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c535681..f877d8d 100644 --- a/README.md +++ b/README.md @@ -149,6 +149,7 @@ - [解析 call/apply 原理,并手写 call/apply 实现](https://github.com/sisterAn/JavaScript-Algorithms/issues/78) - [解析 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) ## 从0到1构建完整的数据结构与算法体系 From babc19756a4e896aefa7a50eddb71850e332e4dc 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, 30 Jul 2020 00:10:56 +0800 Subject: [PATCH 30/75] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 字节&leetcode746:使用最小花费爬楼梯 --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index f877d8d..6809875 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,10 @@ - [腾讯&字节&leetcode34:在排序数组中查找元素的第一个和最后一个位置](https://github.com/sisterAn/JavaScript-Algorithms/issues/84) - [腾讯&leetcode230:二叉搜索树中第K小的元素](https://github.com/sisterAn/JavaScript-Algorithms/issues/86) +### 动态规划 +- [字节&leetcode70:爬楼梯问题](https://github.com/sisterAn/JavaScript-Algorithms/issues/90) +- [字节&leetcode746:使用最小花费爬楼梯](https://github.com/sisterAn/JavaScript-Algorithms/issues/91) + ### 编程题 - [携程&蘑菇街&bilibili:手写数组去重、扁平化函数](https://github.com/sisterAn/JavaScript-Algorithms/issues/30) - [百度:模版渲染](https://github.com/sisterAn/JavaScript-Algorithms/issues/36) From 248da0c444d784a853ff1d6218a7527e05f1495a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=A8=E6=98=93=E6=9D=A8?= Date: Sun, 2 Aug 2020 22:50:32 +0800 Subject: [PATCH 31/75] 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 6809875..6a0439b 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ ![](http://resource.muyiy.cn/image/20200616000604.png) -本系列预估一共有40多篇: +## 系列文章 - [前端进阶算法1:如何分析、统计算法的执行效率和资源消耗?](https://github.com/sisterAn/JavaScript-Algorithms/issues/1) - [前端进阶算法2:从Chrome V8源码看JavaScript数组(附赠腾讯面试题)](https://github.com/sisterAn/JavaScript-Algorithms/issues/2) 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 32/75] 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 33/75] 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 34/75] 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 35/75] 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 36/75] 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 37/75] 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 38/75] 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 39/75] 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 40/75] 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 41/75] 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 42/75] 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 43/75] 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 44/75] 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 45/75] 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 46/75] 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 47/75] 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 48/75] 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 49/75] 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 50/75] 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 51/75] 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 52/75] 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 53/75] 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 54/75] 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 55/75] 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 56/75] 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 57/75] 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 58/75] 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 59/75] 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 60/75] 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 61/75] 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 62/75] 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 63/75] 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 64/75] 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 65/75] 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 66/75] 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 67/75] 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 68/75] 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 69/75] 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 70/75] 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 71/75] 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 72/75] 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 73/75] 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 74/75] 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 75/75] 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) ### 基础题