diff --git a/.gitattributes b/.gitattributes index f30be231..b7fce636 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1 @@ -*.md linguist-language=java +*.md linguist-language=java diff --git a/.gitignore b/.gitignore index 1f6b8ccc..9fdf5323 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -.DS_Store -*.txt -!tencent13147342467085209222.txt +.DS_Store +*.txt +!tencent13147342467085209222.txt desktop.ini \ No newline at end of file diff --git a/README.md b/README.md index 86d247ae..81b1295d 100644 --- a/README.md +++ b/README.md @@ -1,150 +1,150 @@ -
- - - - -
-
- -|  算法  | 操作系统 |  网络 |面向对象|   数据库  |   Java   | 系统设计|    工具    |编码实践|    后记    | -| :---: | :----: | :---: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | -| [:pencil2:](#pencil2-算法) | [:computer:](#computer-操作系统) | [:cloud:](#cloud-网络) | [:art:](#art-面向对象) | [:floppy_disk:](#floppy_disk-数据库) |[:coffee:](#coffee-java)| [:bulb:](#bulb-系统设计) |[:wrench:](#wrench-工具)| [:watermelon:](#watermelon-编码实践) |[:memo:](#memo-后记)| - -
- -
- -
- - - -
- -## :pencil2: 算法 - -- [剑指 Offer 题解](https://github.com/CyC2018/CS-Notes/blob/master/notes/剑指%20Offer%20题解%20-%20目录.md) -- [Leetcode 题解](https://github.com/CyC2018/CS-Notes/blob/master/notes/Leetcode%20题解%20-%20目录.md) -- [算法](https://github.com/CyC2018/CS-Notes/blob/master/notes/算法%20-%20目录.md) -- [笔试面试题库](https://www.nowcoder.com/contestRoom?from=cyc_github) - -## :computer: 操作系统 - -- [计算机操作系统](https://github.com/CyC2018/CS-Notes/blob/master/notes/计算机操作系统%20-%20目录.md) -- [Linux](https://github.com/CyC2018/CS-Notes/blob/master/notes/Linux.md) - -## :cloud: 网络 - -- [计算机网络](https://github.com/CyC2018/CS-Notes/blob/master/notes/计算机网络%20-%20目录.md) -- [HTTP](https://github.com/CyC2018/CS-Notes/blob/master/notes/HTTP.md) -- [Socket](https://github.com/CyC2018/CS-Notes/blob/master/notes/Socket.md) - -## :art: 面向对象 - -- [面向对象思想](https://github.com/CyC2018/CS-Notes/blob/master/notes/面向对象思想.md) -- [设计模式](https://github.com/CyC2018/CS-Notes/blob/master/notes/设计模式%20-%20目录.md) - -## :floppy_disk: 数据库 - -- [数据库系统原理](https://github.com/CyC2018/CS-Notes/blob/master/notes/数据库系统原理.md) -- [SQL](https://github.com/CyC2018/CS-Notes/blob/master/notes/SQL.md) -- [Leetcode-Database 题解](https://github.com/CyC2018/CS-Notes/blob/master/notes/Leetcode-Database%20题解.md) -- [MySQL](https://github.com/CyC2018/CS-Notes/blob/master/notes/MySQL.md) -- [Redis](https://github.com/CyC2018/CS-Notes/blob/master/notes/Redis.md) - -## :coffee: Java - -- [Java 基础](https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20基础.md) -- [Java 容器](https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20容器.md) -- [Java 并发](https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20并发.md) -- [Java 虚拟机](https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20虚拟机.md) -- [Java I/O](https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20IO.md) - -## :bulb: 系统设计 - -- [系统设计基础](https://github.com/CyC2018/CS-Notes/blob/master/notes/系统设计基础.md) -- [分布式](https://github.com/CyC2018/CS-Notes/blob/master/notes/分布式.md) -- [集群](https://github.com/CyC2018/CS-Notes/blob/master/notes/集群.md) -- [攻击技术](https://github.com/CyC2018/CS-Notes/blob/master/notes/攻击技术.md) -- [缓存](https://github.com/CyC2018/CS-Notes/blob/master/notes/缓存.md) -- [消息队列](https://github.com/CyC2018/CS-Notes/blob/master/notes/消息队列.md) - -## :wrench: 工具 - -- [Git](https://github.com/CyC2018/CS-Notes/blob/master/notes/Git.md) -- [Docker](https://github.com/CyC2018/CS-Notes/blob/master/notes/Docker.md) -- [构建工具](https://github.com/CyC2018/CS-Notes/blob/master/notes/构建工具.md) -- [正则表达式](https://github.com/CyC2018/CS-Notes/blob/master/notes/正则表达式.md) - -## :watermelon: 编码实践 - -- [代码可读性](https://github.com/CyC2018/CS-Notes/blob/master/notes/代码可读性.md) -- [代码风格规范](https://github.com/CyC2018/CS-Notes/blob/master/notes/代码风格规范.md) - -## :memo: 后记 - -
- 我的面经 / 我的简历 / 简历模版 / 内推 / 专栏 / QQ 群 -

- -
- - - -### 排版 - -笔记内容按照 [中文文案排版指北](https://github.com/sparanoid/chinese-copywriting-guidelines) 进行排版,以保证内容的可读性。 - -不使用 `![]()` 这种方式来引用图片,而是用 `` 标签。一方面是为了能够控制图片以合适的大小显示,另一方面是因为 [GFM](https://github.github.com/gfm/) 不支持 `
![]()
` 这种方法让图片居中显示,只能使用 `
` 达到居中的效果。 - -在线排版工具:[Text-Typesetting](https://github.com/CyC2018/Text-Typesetting)。 - -### License - -本仓库的内容不是将网上的资料随意拼凑而来,除了少部分引用书上和技术文档的原文(这部分内容都在末尾的参考链接中加了出处),其余都是我的原创。在您引用本仓库内容或者对内容进行修改演绎时,请署名并以相同方式共享,谢谢。 - -转载文章请在开头明显处标明该页面地址,公众号等其它转载请联系 zhengyc101@163.com。 - -Logo:[logomakr](https://logomakr.com/) - -知识共享许可协议 - -### 致谢 - -感谢以下人员对本仓库做出的贡献,当然不仅仅只有这些贡献者,这里就不一一列举了。如果你希望被添加到这个名单中,并且提交过 Issue 或者 PR,请与我联系。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + +
+
+ +|  算法  | 操作系统 |  网络 |面向对象|   数据库  |   Java   | 系统设计|    工具    |编码实践|    后记    | +| :---: | :----: | :---: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | +| [:pencil2:](#pencil2-算法) | [:computer:](#computer-操作系统) | [:cloud:](#cloud-网络) | [:art:](#art-面向对象) | [:floppy_disk:](#floppy_disk-数据库) |[:coffee:](#coffee-java)| [:bulb:](#bulb-系统设计) |[:wrench:](#wrench-工具)| [:watermelon:](#watermelon-编码实践) |[:memo:](#memo-后记)| + +
+ +
+ +
+ + + +
+ +## :pencil2: 算法 + +- [剑指 Offer 题解](https://github.com/CyC2018/CS-Notes/blob/master/notes/剑指%20Offer%20题解%20-%20目录.md) +- [Leetcode 题解](https://github.com/CyC2018/CS-Notes/blob/master/notes/Leetcode%20题解%20-%20目录.md) +- [算法](https://github.com/CyC2018/CS-Notes/blob/master/notes/算法%20-%20目录.md) +- [笔试面试题库](https://www.nowcoder.com/contestRoom?from=cyc_github) + +## :computer: 操作系统 + +- [计算机操作系统](https://github.com/CyC2018/CS-Notes/blob/master/notes/计算机操作系统%20-%20目录.md) +- [Linux](https://github.com/CyC2018/CS-Notes/blob/master/notes/Linux.md) + +## :cloud: 网络 + +- [计算机网络](https://github.com/CyC2018/CS-Notes/blob/master/notes/计算机网络%20-%20目录.md) +- [HTTP](https://github.com/CyC2018/CS-Notes/blob/master/notes/HTTP.md) +- [Socket](https://github.com/CyC2018/CS-Notes/blob/master/notes/Socket.md) + +## :art: 面向对象 + +- [面向对象思想](https://github.com/CyC2018/CS-Notes/blob/master/notes/面向对象思想.md) +- [设计模式](https://github.com/CyC2018/CS-Notes/blob/master/notes/设计模式%20-%20目录.md) + +## :floppy_disk: 数据库 + +- [数据库系统原理](https://github.com/CyC2018/CS-Notes/blob/master/notes/数据库系统原理.md) +- [SQL](https://github.com/CyC2018/CS-Notes/blob/master/notes/SQL.md) +- [Leetcode-Database 题解](https://github.com/CyC2018/CS-Notes/blob/master/notes/Leetcode-Database%20题解.md) +- [MySQL](https://github.com/CyC2018/CS-Notes/blob/master/notes/MySQL.md) +- [Redis](https://github.com/CyC2018/CS-Notes/blob/master/notes/Redis.md) + +## :coffee: Java + +- [Java 基础](https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20基础.md) +- [Java 容器](https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20容器.md) +- [Java 并发](https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20并发.md) +- [Java 虚拟机](https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20虚拟机.md) +- [Java I/O](https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20IO.md) + +## :bulb: 系统设计 + +- [系统设计基础](https://github.com/CyC2018/CS-Notes/blob/master/notes/系统设计基础.md) +- [分布式](https://github.com/CyC2018/CS-Notes/blob/master/notes/分布式.md) +- [集群](https://github.com/CyC2018/CS-Notes/blob/master/notes/集群.md) +- [攻击技术](https://github.com/CyC2018/CS-Notes/blob/master/notes/攻击技术.md) +- [缓存](https://github.com/CyC2018/CS-Notes/blob/master/notes/缓存.md) +- [消息队列](https://github.com/CyC2018/CS-Notes/blob/master/notes/消息队列.md) + +## :wrench: 工具 + +- [Git](https://github.com/CyC2018/CS-Notes/blob/master/notes/Git.md) +- [Docker](https://github.com/CyC2018/CS-Notes/blob/master/notes/Docker.md) +- [构建工具](https://github.com/CyC2018/CS-Notes/blob/master/notes/构建工具.md) +- [正则表达式](https://github.com/CyC2018/CS-Notes/blob/master/notes/正则表达式.md) + +## :watermelon: 编码实践 + +- [代码可读性](https://github.com/CyC2018/CS-Notes/blob/master/notes/代码可读性.md) +- [代码风格规范](https://github.com/CyC2018/CS-Notes/blob/master/notes/代码风格规范.md) + +## :memo: 后记 + +
+ 我的面经 / 我的简历 / 简历模版 / 内推 / 专栏 / QQ 群 +

+ +
+ + + +### 排版 + +笔记内容按照 [中文文案排版指北](https://github.com/sparanoid/chinese-copywriting-guidelines) 进行排版,以保证内容的可读性。 + +不使用 `![]()` 这种方式来引用图片,而是用 `` 标签。一方面是为了能够控制图片以合适的大小显示,另一方面是因为 [GFM](https://github.github.com/gfm/) 不支持 `
![]()
` 这种方法让图片居中显示,只能使用 `
` 达到居中的效果。 + +在线排版工具:[Text-Typesetting](https://github.com/CyC2018/Text-Typesetting)。 + +### License + +本仓库的内容不是将网上的资料随意拼凑而来,除了少部分引用书上和技术文档的原文(这部分内容都在末尾的参考链接中加了出处),其余都是我的原创。在您引用本仓库内容或者对内容进行修改演绎时,请署名并以相同方式共享,谢谢。 + +转载文章请在开头明显处标明该页面地址,公众号等其它转载请联系 zhengyc101@163.com。 + +Logo:[logomakr](https://logomakr.com/) + +知识共享许可协议 + +### 致谢 + +感谢以下人员对本仓库做出的贡献,当然不仅仅只有这些贡献者,这里就不一一列举了。如果你希望被添加到这个名单中,并且提交过 Issue 或者 PR,请与我联系。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/download.md b/assets/download.md index cb340934..6fc88d22 100644 --- a/assets/download.md +++ b/assets/download.md @@ -1,34 +1,34 @@ -# 目的 - -考虑到有部分读者的网络环境较差,有时候在线访问速度很慢,导致阅读体验不佳。另外,PDF 等格式的离线版本相比于网页在线版本更方便做笔记。因此提供离线阅读版本给大家下载。 - -# 内容 - -有三种格式的离线版本:PDF、Markdown 和 HTML 。 - -## PDF - -优点是方便做笔记;缺点是不能显示 GIF 图片(所以“剑指 Offer 题解”不建议使用 PDF 进行阅读),以及显示效果不佳。 - -![](download-pdf.png) - -## Markdown - -优点是能很好地显示 GIF 图片,显示效果也很好;缺点是由于将所有内容整合在同一个文件中,导致实时渲染有点卡顿。 - -![](download-markdown.png) - -## HTML - -优点是和 Markdown 的显示效果几乎一致,同时不需要 Markdown 的实时渲染,因此浏览速度更快;缺点是目录功能还不是很完善。 - -如果想在安卓手机端阅读,推荐使用这种格式,将 html 文件和图片文件都复制到手机上,用浏览器打开 html 文件并存成书签,以后就可以快速地离线阅读。 - -![](download-html.png) - -# 如何下载 - -离线版本由公众号 **CyC2018** 发布,最新版本也会在上面及时发布,在后台回复 **CyC** 即可获取下载链接。 - -
- +# 目的 + +考虑到有部分读者的网络环境较差,有时候在线访问速度很慢,导致阅读体验不佳。另外,PDF 等格式的离线版本相比于网页在线版本更方便做笔记。因此提供离线阅读版本给大家下载。 + +# 内容 + +有三种格式的离线版本:PDF、Markdown 和 HTML 。 + +## PDF + +优点是方便做笔记;缺点是不能显示 GIF 图片(所以“剑指 Offer 题解”不建议使用 PDF 进行阅读),以及显示效果不佳。 + +![](download-pdf.png) + +## Markdown + +优点是能很好地显示 GIF 图片,显示效果也很好;缺点是由于将所有内容整合在同一个文件中,导致实时渲染有点卡顿。 + +![](download-markdown.png) + +## HTML + +优点是和 Markdown 的显示效果几乎一致,同时不需要 Markdown 的实时渲染,因此浏览速度更快;缺点是目录功能还不是很完善。 + +如果想在安卓手机端阅读,推荐使用这种格式,将 html 文件和图片文件都复制到手机上,用浏览器打开 html 文件并存成书签,以后就可以快速地离线阅读。 + +![](download-html.png) + +# 如何下载 + +离线版本由公众号 **CyC2018** 发布,最新版本也会在上面及时发布,在后台回复 **CyC** 即可获取下载链接。 + +
+ diff --git a/docs/README.md b/docs/README.md index af810aba..657621cf 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,64 +1,64 @@ -- [点击订阅面试进阶指南](https://xiaozhuanlan.com/CyC2018) - -## ✏️ 算法 - -- [剑指 Offer 题解](notes/剑指%20Offer%20题解%20-%20目录1.md)
-- [Leetcode 题解](notes/Leetcode%20题解%20-%20目录1.md)
-- [算法](notes/算法%20-%20目录1.md)
-- [后端面试进阶指南](https://xiaozhuanlan.com/CyC2018) - -## 💻 操作系统 - -- [计算机操作系统](notes/计算机操作系统%20-%20目录1.md)
-- [Linux](notes/Linux.md) - -## ☁️ 网络 - -- [计算机网络](notes/计算机网络%20-%20目录1.md)
-- [HTTP](notes/HTTP.md)
-- [Socket](notes/Socket.md) - -## 🎨 面向对象 - -- [设计模式](notes/设计模式%20-%20目录1.md)
-- [面向对象思想](notes/面向对象思想.md) - -## 💾 数据库 - -- [数据库系统原理](notes/数据库系统原理.md)
-- [SQL](notes/SQL.md)
-- [Leetcode-Database 题解](notes/Leetcode-Database%20题解.md)
-- [MySQL](notes/MySQL.md)
-- [Redis](notes/Redis.md) - -## ☕️ Java - -- [Java 基础](notes/Java%20基础.md)
-- [Java 容器](notes/Java%20容器.md)
-- [Java 并发](notes/Java%20并发.md)
-- [Java 虚拟机](notes/Java%20虚拟机.md)
-- [Java I/O](notes/Java%20IO.md) - -## 💡 系统设计 - -- [系统设计基础](notes/系统设计基础.md)
-- [分布式](notes/分布式.md)
-- [集群](notes/集群.md)
-- [攻击技术](notes/攻击技术.md)
-- [缓存](notes/缓存.md)
-- [消息队列](notes/消息队列.md) - -## 🔧 工具 - -- [Git](notes/Git.md)
-- [Docker](notes/Docker.md)
-- [正则表达式](notes/正则表达式.md)
-- [构建工具](notes/构建工具.md) - - - - +- [点击订阅面试进阶指南](https://xiaozhuanlan.com/CyC2018) + +## ✏️ 算法 + +- [剑指 Offer 题解](notes/剑指%20Offer%20题解%20-%20目录1.md)
+- [Leetcode 题解](notes/Leetcode%20题解%20-%20目录1.md)
+- [算法](notes/算法%20-%20目录1.md)
+- [后端面试进阶指南](https://xiaozhuanlan.com/CyC2018) + +## 💻 操作系统 + +- [计算机操作系统](notes/计算机操作系统%20-%20目录1.md)
+- [Linux](notes/Linux.md) + +## ☁️ 网络 + +- [计算机网络](notes/计算机网络%20-%20目录1.md)
+- [HTTP](notes/HTTP.md)
+- [Socket](notes/Socket.md) + +## 🎨 面向对象 + +- [设计模式](notes/设计模式%20-%20目录1.md)
+- [面向对象思想](notes/面向对象思想.md) + +## 💾 数据库 + +- [数据库系统原理](notes/数据库系统原理.md)
+- [SQL](notes/SQL.md)
+- [Leetcode-Database 题解](notes/Leetcode-Database%20题解.md)
+- [MySQL](notes/MySQL.md)
+- [Redis](notes/Redis.md) + +## ☕️ Java + +- [Java 基础](notes/Java%20基础.md)
+- [Java 容器](notes/Java%20容器.md)
+- [Java 并发](notes/Java%20并发.md)
+- [Java 虚拟机](notes/Java%20虚拟机.md)
+- [Java I/O](notes/Java%20IO.md) + +## 💡 系统设计 + +- [系统设计基础](notes/系统设计基础.md)
+- [分布式](notes/分布式.md)
+- [集群](notes/集群.md)
+- [攻击技术](notes/攻击技术.md)
+- [缓存](notes/缓存.md)
+- [消息队列](notes/消息队列.md) + +## 🔧 工具 + +- [Git](notes/Git.md)
+- [Docker](notes/Docker.md)
+- [正则表达式](notes/正则表达式.md)
+- [构建工具](notes/构建工具.md) + + + + diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 2c33e155..630c6137 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,11 +1,11 @@ - - - -- 本项目包含了技术面试必备的基础知识,内容浅显易懂,你不需要花很长的时间去阅读和理解成堆的技术书籍就可以快速掌握这些知识,从而节省宝贵的面试复习时间。 - - - -[![stars](https://badgen.net/github/stars/CyC2018/CS-Notes?icon=github&color=4ab8a1)](https://github.com/CyC2018/CS-Notes) [![forks](https://badgen.net/github/forks/CyC2018/CS-Notes?icon=github&color=4ab8a1)](https://github.com/CyC2018/CS-Notes) - -[开始阅读](README.md) - + + + +- 本项目包含了技术面试必备的基础知识,内容浅显易懂,你不需要花很长的时间去阅读和理解成堆的技术书籍就可以快速掌握这些知识,从而节省宝贵的面试复习时间。 + + + +[![stars](https://badgen.net/github/stars/CyC2018/CS-Notes?icon=github&color=4ab8a1)](https://github.com/CyC2018/CS-Notes) [![forks](https://badgen.net/github/forks/CyC2018/CS-Notes?icon=github&color=4ab8a1)](https://github.com/CyC2018/CS-Notes) + +[开始阅读](README.md) + diff --git a/docs/index.html b/docs/index.html index 08b3fee6..cffaa7c0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,439 +1,439 @@ - - - - - - CS-Notes - - - - - - - - - - - - -
- - - - - - - - - - - - + + + + + + CS-Notes + + + + + + + + + + + + +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/notes/Leetcode 题解 - 数组与矩阵.md b/docs/notes/Leetcode 题解 - 数组与矩阵.md index 288147f1..9e05f1b5 100644 --- a/docs/notes/Leetcode 题解 - 数组与矩阵.md +++ b/docs/notes/Leetcode 题解 - 数组与矩阵.md @@ -138,9 +138,7 @@ k = 8, return 13. ``` -��题参考:[Share my thoughts and Clean Java Code - -[Leetcode](https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/discuss/85173) / [力扣](https://leetcode-cn.com/problems/kth-smallest-element-in-a-sorted-matrix/discuss/85173) +解题参考:[Share my thoughts and Clean Java Code](https://leetcode-cn.com/problems/kth-smallest-element-in-a-sorted-matrix/discuss/85173) 二分查找解法: @@ -233,15 +231,6 @@ private void swap(int[] nums, int i, int j) { } ``` -类似题目: - - [448\. Find All Numbers Disappeared in an Array (Easy) - -[Leetcode](https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/description/),寻找所有丢失的元�) / [力扣](https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/description/),寻找所有丢失的元�) - [442\. Find All Duplicates in an Array (Medium) - -[Leetcode](https://leetcode.com/problems/find-all-duplicates-in-an-array/description/),寻找所有重复的元素�) / [力扣](https://leetcode-cn.com/problems/find-all-duplicates-in-an-array/description/),寻找所有重复的元素�) - # 7. 找出数组中重复的数,数组值在 [1, n] 之间 287\. Find the Duplicate Number (Medium) diff --git a/docs/notes/剑指 Offer 题解 - 目录.md b/docs/notes/剑指 Offer 题解 - 目录.md index a7c246bc..f9dcd846 100644 --- a/docs/notes/剑指 Offer 题解 - 目录.md +++ b/docs/notes/剑指 Offer 题解 - 目录.md @@ -1,3 +1,10 @@ +# 前言 + +题目来自《何海涛. 剑指 Offer[M]. 电子工业出版社, 2012.》,刷题网站推荐: + +- [牛客网](https://www.nowcoder.com/ta/coding-interviews?from=cyc_github) +- [Leetcode](https://leetcode-cn.com/problemset/lcof/) + # 目录 @@ -78,10 +85,6 @@ - [67. 把字符串转换成整数](67.%20把字符串转换成整数.md) - [68. 树中两个节点的最低公共祖先](68.%20树中两个节点的最低公共祖先.md) -# 参考文献 - -何海涛. 剑指 Offer[M]. 电子工业出版社, 2012. - diff --git a/notes/Leetcode 题解 - 数组与矩阵.md b/notes/Leetcode 题解 - 数组与矩阵.md index 288147f1..9e05f1b5 100644 --- a/notes/Leetcode 题解 - 数组与矩阵.md +++ b/notes/Leetcode 题解 - 数组与矩阵.md @@ -138,9 +138,7 @@ k = 8, return 13. ``` -��题参考:[Share my thoughts and Clean Java Code - -[Leetcode](https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/discuss/85173) / [力扣](https://leetcode-cn.com/problems/kth-smallest-element-in-a-sorted-matrix/discuss/85173) +解题参考:[Share my thoughts and Clean Java Code](https://leetcode-cn.com/problems/kth-smallest-element-in-a-sorted-matrix/discuss/85173) 二分查找解法: @@ -233,15 +231,6 @@ private void swap(int[] nums, int i, int j) { } ``` -类似题目: - - [448\. Find All Numbers Disappeared in an Array (Easy) - -[Leetcode](https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/description/),寻找所有丢失的元�) / [力扣](https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/description/),寻找所有丢失的元�) - [442\. Find All Duplicates in an Array (Medium) - -[Leetcode](https://leetcode.com/problems/find-all-duplicates-in-an-array/description/),寻找所有重复的元素�) / [力扣](https://leetcode-cn.com/problems/find-all-duplicates-in-an-array/description/),寻找所有重复的元素�) - # 7. 找出数组中重复的数,数组值在 [1, n] 之间 287\. Find the Duplicate Number (Medium) diff --git a/notes/剑指 Offer 题解 - 目录.md b/notes/剑指 Offer 题解 - 目录.md index a7c246bc..f9dcd846 100644 --- a/notes/剑指 Offer 题解 - 目录.md +++ b/notes/剑指 Offer 题解 - 目录.md @@ -1,3 +1,10 @@ +# 前言 + +题目来自《何海涛. 剑指 Offer[M]. 电子工业出版社, 2012.》,刷题网站推荐: + +- [牛客网](https://www.nowcoder.com/ta/coding-interviews?from=cyc_github) +- [Leetcode](https://leetcode-cn.com/problemset/lcof/) + # 目录 @@ -78,10 +85,6 @@ - [67. 把字符串转换成整数](67.%20把字符串转换成整数.md) - [68. 树中两个节点的最低公共祖先](68.%20树中两个节点的最低公共祖先.md) -# 参考文献 - -何海涛. 剑指 Offer[M]. 电子工业出版社, 2012. - diff --git a/other/README.md b/other/README.md index 6819a8c8..5e8d51bf 100644 --- a/other/README.md +++ b/other/README.md @@ -1,4 +1,4 @@ -- 其他人添加的全新内容 -- 其他人的项目推广 - - +- 其他人添加的全新内容 +- 其他人的项目推广 + + diff --git a/other/leetcode 总结.md b/other/leetcode 总结.md index 82ff61c7..f5f6921b 100644 --- a/other/leetcode 总结.md +++ b/other/leetcode 总结.md @@ -1,37 +1,37 @@ -# LeetCode 面试必备 - - 💪 就是干!如果你觉得有帮助请点个star,谢谢! - -> **欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远** - -## LeetCode 习题集合 - -* [LeetCode 解题集合](https://github.com/apachecn/LeetCode/tree/master/docs/Leetcode_Solutions) - - -## 模版要求 - -> 提交PR基本要求(满足任意一种即可) - -* 1. 不一样的思路 -* 2. 优化时间复杂度和空间复杂度,或者解决题目的Follow up -* 3. 有意义的简化代码 -* 4. 未提交过的题目 - -> **案例模版** - -[模版:007. Reverse Integer 反转整数](https://github.com/apachecn/LeetCode/tree/master/docs/Leetcode_Solutions/007._Reverse_Integer.md) - - -## 项目贡献者 - -> 项目发起人 - -* [@Lisanaaa](https://github.com/Lisanaaa) -* [@片刻](https://github.com/jiangzhonglian) - -> 贡献者(欢迎大家来追加) - -* [@Lisanaaa](https://github.com/Lisanaaa) -* [@片刻](https://github.com/jiangzhonglian) -* [@小瑶](https://github.com/chenyyx) - +# LeetCode 面试必备 + - 💪 就是干!如果你觉得有帮助请点个star,谢谢! + +> **欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远** + +## LeetCode 习题集合 + +* [LeetCode 解题集合](https://github.com/apachecn/LeetCode/tree/master/docs/Leetcode_Solutions) + + +## 模版要求 + +> 提交PR基本要求(满足任意一种即可) + +* 1. 不一样的思路 +* 2. 优化时间复杂度和空间复杂度,或者解决题目的Follow up +* 3. 有意义的简化代码 +* 4. 未提交过的题目 + +> **案例模版** + +[模版:007. Reverse Integer 反转整数](https://github.com/apachecn/LeetCode/tree/master/docs/Leetcode_Solutions/007._Reverse_Integer.md) + + +## 项目贡献者 + +> 项目发起人 + +* [@Lisanaaa](https://github.com/Lisanaaa) +* [@片刻](https://github.com/jiangzhonglian) + +> 贡献者(欢迎大家来追加) + +* [@Lisanaaa](https://github.com/Lisanaaa) +* [@片刻](https://github.com/jiangzhonglian) +* [@小瑶](https://github.com/chenyyx) + diff --git a/other/前端面试每日3+1.md b/other/前端面试每日3+1.md index 0b235d01..96c94d1a 100644 --- a/other/前端面试每日3+1.md +++ b/other/前端面试每日3+1.md @@ -1,132 +1,132 @@ -[中文](https://github.com/haizlin/fe-interview/blob/master/README.md) | [English](https://github.com/haizlin/fe-interview/blob/master/README-en.md) - -

- html - css - javascript - skill - Statr -

- -**非常感谢CS-Notes** -**参与每日面试答题,可以移步到: https://github.com/haizlin/fe-interview** - -# 前端面试每日 **3+1**(每日三问) - -> 《论语》,曾子曰:**“吾日三省吾身”**(我每天多次反省自己)。 -> 前端面试每日3+1,以面试题来驱动学习,每天进步一点! -> 让努力成为一种习惯,让奋斗成为一种享受! -> 相信 **坚持** 的力量!!! - ---- -- 学习不打烊,充电加油只为**遇到更好的自己**,365天无节假日,每天早上5点纯手工发布面试题(**死磕自己,愉悦大家**)。 -- 希望大家在这**浮夸**的前端圈里,保持**冷静**,坚持每天花20分钟来学习与思考。 -- 在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡**每日学习**!(**不忘初心**,html、css、javascript才是基石!) -- 欢迎大家到**Issues**交流,鼓励**PR**,感谢**Star**,大家有啥好的建议可以加我微信一起交流讨论! -> 希望大家**每日**去学习与思考,这才达到来这里的目的!!!(不要为了谁而来,要为自己而来!) - -## 今天的面试题 (2019.05.21) —— 第35天 -- [html] [用一个div模拟textarea的实现](https://github.com/haizlin/fe-interview/issues/128) -- [css] [使用flex实现三栏布局,两边固定,中间自适应](https://github.com/haizlin/fe-interview/issues/129) -- [js] [请你解释一个为什么10.toFixed(10)会报错?](https://github.com/haizlin/fe-interview/issues/130) -- [软技能] [谈一谈你知道的前端性能优化方案有哪些?](https://github.com/haizlin/fe-interview/issues/131) - -> 欢迎在 [**Issues**](https://github.com/haizlin/fe-interview/issues) 和朋友们一同讨论学习! - -## 试题分类 -- 分类(3+1) - [html](https://github.com/haizlin/fe-interview/category/html.md) | [css](https://github.com/haizlin/fe-interview/category/css.md) | [js](https://github.com/haizlin/fe-interview/category/js.md) | [软技能](https://github.com/haizlin/fe-interview/category/skill.md) - -- 专题(敬请期待、欢迎PR) - [ES6](https://github.com/haizlin/fe-interview/category/es6.md) | [jQuery](https://github.com/haizlin/fe-interview/lib/jQuery.md) | [Vue](https://github.com/haizlin/fe-interview/lib/Vue.md) | [React](https://github.com/haizlin/fe-interview/lib/React.md) | [AngularJs](https://github.com/haizlin/fe-interview/lib/AngularJs.md) | [小程序](https://github.com/haizlin/fe-interview/lib/wxapp.md) - -- 汇总 - [周](https://github.com/haizlin/fe-interview/category/week.md) - -## 历史面试题 -- **[查看全部](category/history.md)** - -- 第34天 (2019.05.20) - - [html] [Standards模式和Quirks模式有什么区别?](https://github.com/haizlin/fe-interview/issues/122) - - [css] [浏览器是怎样判断元素是否和某个CSS选择器匹配?](https://github.com/haizlin/fe-interview/issues/123) - - [js] [请用canvas写一个关于520浪漫表白的代码](https://github.com/haizlin/fe-interview/issues/124) - - [软技能] [你了解什么是技术债务吗?](https://github.com/haizlin/fe-interview/issues/125) - -- 第33天 (2019.05.19) - - [html] [html和html5有什么区别呢?](https://github.com/haizlin/fe-interview/issues/118) - - [css] [用CSS绘制一个三角形](https://github.com/haizlin/fe-interview/issues/119) - - [js] [说说你对this的理解](https://github.com/haizlin/fe-interview/issues/120) - - [软技能] [你对全栈工程师的理解是什么?](https://github.com/haizlin/fe-interview/issues/121) - -- 第32天 (2019.05.18) - - [html] [说说你对HTML元素的显示优先级的理解](https://github.com/haizlin/fe-interview/issues/114) - - [css] [说下line-height三种赋值方式有何区别?](https://github.com/haizlin/fe-interview/issues/115) - - [js] [造成内存泄漏的操作有哪些?](https://github.com/haizlin/fe-interview/issues/116) - - [软技能] [你在上一家公司工作流程是怎么样的,如何与其他人协作的?是怎样跨部门合作的?](https://github.com/haizlin/fe-interview/issues/117) - -- 第31天 (2019.05.17) - - [html] [DOM和BOM有什么区别?](https://github.com/haizlin/fe-interview/issues/110) - - [css] [让网页的字体变得清晰,变细用CSS怎么做?](https://github.com/haizlin/fe-interview/issues/111) - - [js] [写一个方法把0和1互转(0置1,1置0)](https://github.com/haizlin/fe-interview/issues/112) - - [软技能] [对于有压力时,你是怎么抗压的?](https://github.com/haizlin/fe-interview/issues/113) - -- 第30天 (2019.05.16) - - [html] [网页上的验证码是为了解决什么问题?说说你了解的验证码种类有哪些](https://github.com/haizlin/fe-interview/issues/106) - - [css] [描述下你所了解的图片格式及使用场景](https://github.com/haizlin/fe-interview/issues/107) - - [js] [写一个方法判断字符串是否为回文字符串](https://github.com/haizlin/fe-interview/issues/108) - - [软技能] [解释下CRLF是什么?](https://github.com/haizlin/fe-interview/issues/109) - -- **[查看全部](category/history.md)** - -## 怎样学习 -- 不管题目懂与不懂都要先思考再百度,思考后一定要去写出来 -- 如果是原生js的题,不要依赖第三方库,如jquery等 -- 每天的题目都是独立的,不需要按顺序来,但建议每道题都去答下,有你会的和有你不会的,答了才知道 -- 不懂的题百度后,不要直接复制一大段过来,要用自己的话精简地总结概括出来 - -## 起源 -> 故事起源于离职同事发来的一道求助面试题,然后在部门企业微信群里炸开了,答题完后大家觉得如果要是每天来一题,是不是会更爽呢?**以面代练**,突发其想说干就干,所以就有了这个开源仓库,只为利他利己! - -![起源图](https://github.com/haizlin/fe-interview/raw/master/resource/images/begin.jpg) - -## 特别感谢(排名不分先后) -- [qq674785876](https://github.com/qq674785876) -- [undefinedYu](https://github.com/undefinedYu) -- [qingleizhang123](https://github.com/qingleizhang123) -- [yxkhaha](https://github.com/yxkhaha) - -## 重大事件 -- 2019.04.17 — 来源于一张离职同事发来的求助面试题,然后大家突发其想说干就干 -- 2019.04.25 — 添加了面试题的分类 -- 2019.04.27 — 添加了Issues的模板 -- 2019.04.28 — 每日3题改成每日3+1,即添加了一个软技能题 -- 2019.04.29 — 添加了特别感谢的朋友 -- 2019.04.30 — 添加了QQ讨论群 -- 2019.05.02 — 去除QQ讨论群二维码,添加公众号及个人微信二维码 -- 2019.05.05 — 看到很多网络上的朋友滥用链接,让有需要的朋友找不到最新的试题,特添加了转载说明 -- 2019.05.07 — 为了把开源项目更好的延续下去,帮助更多爱学习的朋友,开通了掘金专栏、知乎专栏和看云 -- 2019.05.07 — 下午star数突破100,看来爱学习的人很多,也为自己的坚持而感到欣慰!利他利已! -- 2019.05.08 — 看到点赞数破100了,但每天答题的人很少很少!我在反思问题出在我身上还是什么原因?所有特加了提示:不要为了谁而来,要为自己而来! -- 2019.05.12 — 与国际接轨,代码与学习无国界,所以添加了英文版本,后续会继续优化,先解决有的问题! -- 2019.05.13 — star数突破300! -- 2019.05.14 — issues题目数量突破100!继续努力前行! -- 2019.05.15 — 加了技能图标,让README更美观,看着更舒服! -- 2019.05.16 — 看到很多朋友直接复制一大段出来文字放到issues里,其实这样是不好的,看后也要用自己的话总结根据出来,所有添加了怎样学习的方法 - -## 在哪可以看到 -- [掘金专栏](https://juejin.im/user/5b5ff865f265da0f6b771700/posts)(每天同步更新) -- [知乎专栏](https://zhuanlan.zhihu.com/fe-interview)(每天同步更新) -- [Gitee](https://gitee.com/haizhilin/fe-interview)(每天同步更新) -- [看云](https://www.kancloud.cn/aya001001/fe-interview)(每周同步更新) -- 「前端剑解」 微信公众号(扫描下方二维码,每天同步更新) - -## 转载说明 -> 近期,看到很多网络上的朋友滥用链接,包装了下就收费了,让有需要的朋友找不到最新的试题,违背了我的初衷,特添加了些声明: - -- 声明 - 1. 可以转载里面的所有面试题用到任何地方,但请添加仓库的地址,因为转载后你们很少会更新了,但此仓库每天都会准时更新。 - 2. 此开源仓库从不收取任何费用,**现在不会,以后也不会**,也不会授权任何人/机构进行收费。 - 3. 大家不需要对此仓库进行爬虫,如有需要什么格式的,可以私聊我,比如本地阅读的PDF,我有时间会做成PDF的,方便大家! - -## License +[中文](https://github.com/haizlin/fe-interview/blob/master/README.md) | [English](https://github.com/haizlin/fe-interview/blob/master/README-en.md) + +

+ html + css + javascript + skill + Statr +

+ +**非常感谢CS-Notes** +**参与每日面试答题,可以移步到: https://github.com/haizlin/fe-interview** + +# 前端面试每日 **3+1**(每日三问) + +> 《论语》,曾子曰:**“吾日三省吾身”**(我每天多次反省自己)。 +> 前端面试每日3+1,以面试题来驱动学习,每天进步一点! +> 让努力成为一种习惯,让奋斗成为一种享受! +> 相信 **坚持** 的力量!!! + +--- +- 学习不打烊,充电加油只为**遇到更好的自己**,365天无节假日,每天早上5点纯手工发布面试题(**死磕自己,愉悦大家**)。 +- 希望大家在这**浮夸**的前端圈里,保持**冷静**,坚持每天花20分钟来学习与思考。 +- 在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡**每日学习**!(**不忘初心**,html、css、javascript才是基石!) +- 欢迎大家到**Issues**交流,鼓励**PR**,感谢**Star**,大家有啥好的建议可以加我微信一起交流讨论! +> 希望大家**每日**去学习与思考,这才达到来这里的目的!!!(不要为了谁而来,要为自己而来!) + +## 今天的面试题 (2019.05.21) —— 第35天 +- [html] [用一个div模拟textarea的实现](https://github.com/haizlin/fe-interview/issues/128) +- [css] [使用flex实现三栏布局,两边固定,中间自适应](https://github.com/haizlin/fe-interview/issues/129) +- [js] [请你解释一个为什么10.toFixed(10)会报错?](https://github.com/haizlin/fe-interview/issues/130) +- [软技能] [谈一谈你知道的前端性能优化方案有哪些?](https://github.com/haizlin/fe-interview/issues/131) + +> 欢迎在 [**Issues**](https://github.com/haizlin/fe-interview/issues) 和朋友们一同讨论学习! + +## 试题分类 +- 分类(3+1) + [html](https://github.com/haizlin/fe-interview/category/html.md) | [css](https://github.com/haizlin/fe-interview/category/css.md) | [js](https://github.com/haizlin/fe-interview/category/js.md) | [软技能](https://github.com/haizlin/fe-interview/category/skill.md) + +- 专题(敬请期待、欢迎PR) + [ES6](https://github.com/haizlin/fe-interview/category/es6.md) | [jQuery](https://github.com/haizlin/fe-interview/lib/jQuery.md) | [Vue](https://github.com/haizlin/fe-interview/lib/Vue.md) | [React](https://github.com/haizlin/fe-interview/lib/React.md) | [AngularJs](https://github.com/haizlin/fe-interview/lib/AngularJs.md) | [小程序](https://github.com/haizlin/fe-interview/lib/wxapp.md) + +- 汇总 + [周](https://github.com/haizlin/fe-interview/category/week.md) + +## 历史面试题 +- **[查看全部](category/history.md)** + +- 第34天 (2019.05.20) + - [html] [Standards模式和Quirks模式有什么区别?](https://github.com/haizlin/fe-interview/issues/122) + - [css] [浏览器是怎样判断元素是否和某个CSS选择器匹配?](https://github.com/haizlin/fe-interview/issues/123) + - [js] [请用canvas写一个关于520浪漫表白的代码](https://github.com/haizlin/fe-interview/issues/124) + - [软技能] [你了解什么是技术债务吗?](https://github.com/haizlin/fe-interview/issues/125) + +- 第33天 (2019.05.19) + - [html] [html和html5有什么区别呢?](https://github.com/haizlin/fe-interview/issues/118) + - [css] [用CSS绘制一个三角形](https://github.com/haizlin/fe-interview/issues/119) + - [js] [说说你对this的理解](https://github.com/haizlin/fe-interview/issues/120) + - [软技能] [你对全栈工程师的理解是什么?](https://github.com/haizlin/fe-interview/issues/121) + +- 第32天 (2019.05.18) + - [html] [说说你对HTML元素的显示优先级的理解](https://github.com/haizlin/fe-interview/issues/114) + - [css] [说下line-height三种赋值方式有何区别?](https://github.com/haizlin/fe-interview/issues/115) + - [js] [造成内存泄漏的操作有哪些?](https://github.com/haizlin/fe-interview/issues/116) + - [软技能] [你在上一家公司工作流程是怎么样的,如何与其他人协作的?是怎样跨部门合作的?](https://github.com/haizlin/fe-interview/issues/117) + +- 第31天 (2019.05.17) + - [html] [DOM和BOM有什么区别?](https://github.com/haizlin/fe-interview/issues/110) + - [css] [让网页的字体变得清晰,变细用CSS怎么做?](https://github.com/haizlin/fe-interview/issues/111) + - [js] [写一个方法把0和1互转(0置1,1置0)](https://github.com/haizlin/fe-interview/issues/112) + - [软技能] [对于有压力时,你是怎么抗压的?](https://github.com/haizlin/fe-interview/issues/113) + +- 第30天 (2019.05.16) + - [html] [网页上的验证码是为了解决什么问题?说说你了解的验证码种类有哪些](https://github.com/haizlin/fe-interview/issues/106) + - [css] [描述下你所了解的图片格式及使用场景](https://github.com/haizlin/fe-interview/issues/107) + - [js] [写一个方法判断字符串是否为回文字符串](https://github.com/haizlin/fe-interview/issues/108) + - [软技能] [解释下CRLF是什么?](https://github.com/haizlin/fe-interview/issues/109) + +- **[查看全部](category/history.md)** + +## 怎样学习 +- 不管题目懂与不懂都要先思考再百度,思考后一定要去写出来 +- 如果是原生js的题,不要依赖第三方库,如jquery等 +- 每天的题目都是独立的,不需要按顺序来,但建议每道题都去答下,有你会的和有你不会的,答了才知道 +- 不懂的题百度后,不要直接复制一大段过来,要用自己的话精简地总结概括出来 + +## 起源 +> 故事起源于离职同事发来的一道求助面试题,然后在部门企业微信群里炸开了,答题完后大家觉得如果要是每天来一题,是不是会更爽呢?**以面代练**,突发其想说干就干,所以就有了这个开源仓库,只为利他利己! + +![起源图](https://github.com/haizlin/fe-interview/raw/master/resource/images/begin.jpg) + +## 特别感谢(排名不分先后) +- [qq674785876](https://github.com/qq674785876) +- [undefinedYu](https://github.com/undefinedYu) +- [qingleizhang123](https://github.com/qingleizhang123) +- [yxkhaha](https://github.com/yxkhaha) + +## 重大事件 +- 2019.04.17 — 来源于一张离职同事发来的求助面试题,然后大家突发其想说干就干 +- 2019.04.25 — 添加了面试题的分类 +- 2019.04.27 — 添加了Issues的模板 +- 2019.04.28 — 每日3题改成每日3+1,即添加了一个软技能题 +- 2019.04.29 — 添加了特别感谢的朋友 +- 2019.04.30 — 添加了QQ讨论群 +- 2019.05.02 — 去除QQ讨论群二维码,添加公众号及个人微信二维码 +- 2019.05.05 — 看到很多网络上的朋友滥用链接,让有需要的朋友找不到最新的试题,特添加了转载说明 +- 2019.05.07 — 为了把开源项目更好的延续下去,帮助更多爱学习的朋友,开通了掘金专栏、知乎专栏和看云 +- 2019.05.07 — 下午star数突破100,看来爱学习的人很多,也为自己的坚持而感到欣慰!利他利已! +- 2019.05.08 — 看到点赞数破100了,但每天答题的人很少很少!我在反思问题出在我身上还是什么原因?所有特加了提示:不要为了谁而来,要为自己而来! +- 2019.05.12 — 与国际接轨,代码与学习无国界,所以添加了英文版本,后续会继续优化,先解决有的问题! +- 2019.05.13 — star数突破300! +- 2019.05.14 — issues题目数量突破100!继续努力前行! +- 2019.05.15 — 加了技能图标,让README更美观,看着更舒服! +- 2019.05.16 — 看到很多朋友直接复制一大段出来文字放到issues里,其实这样是不好的,看后也要用自己的话总结根据出来,所有添加了怎样学习的方法 + +## 在哪可以看到 +- [掘金专栏](https://juejin.im/user/5b5ff865f265da0f6b771700/posts)(每天同步更新) +- [知乎专栏](https://zhuanlan.zhihu.com/fe-interview)(每天同步更新) +- [Gitee](https://gitee.com/haizhilin/fe-interview)(每天同步更新) +- [看云](https://www.kancloud.cn/aya001001/fe-interview)(每周同步更新) +- 「前端剑解」 微信公众号(扫描下方二维码,每天同步更新) + +## 转载说明 +> 近期,看到很多网络上的朋友滥用链接,包装了下就收费了,让有需要的朋友找不到最新的试题,违背了我的初衷,特添加了些声明: + +- 声明 + 1. 可以转载里面的所有面试题用到任何地方,但请添加仓库的地址,因为转载后你们很少会更新了,但此仓库每天都会准时更新。 + 2. 此开源仓库从不收取任何费用,**现在不会,以后也不会**,也不会授权任何人/机构进行收费。 + 3. 大家不需要对此仓库进行爬虫,如有需要什么格式的,可以私聊我,比如本地阅读的PDF,我有时间会做成PDF的,方便大家! + +## License [![MIT](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/haizlin/fe-interview/blob/master/LICENSE) \ No newline at end of file diff --git a/other/算法与数据结构.md b/other/算法与数据结构.md index d1e4ddf3..9d8eacd1 100644 --- a/other/算法与数据结构.md +++ b/other/算法与数据结构.md @@ -1,151 +1,151 @@ -# Algorithm -leetcode/lintcode上的算法题 - -**关于问题的答案和解体的思路,可以移步 : https://github.com/zhaozhengcoder/Algorithm** - -### About - - 这个仓库最初的想法是把lintcode/lintocde上面的算法题目整理一下,因为很多题目太多了显得太乱了,就不继续在GitHub上面写了,以前写的一部分移到我的博客上面了。 - GitHub上面打算整理一些比较典型 或者是 自己思考过的觉得很好的问题。 - - - 在博客上面开了两个专栏 - - 1. 数据结构/算法导论 : - https://www.jianshu.com/nb/12397278 - - 2. OJ练习题 : - https://www.jianshu.com/nb/9973135 - - 推荐两篇自己对 递归搜索和动态规划 的理解的blog : - - 1. https://www.jianshu.com/p/5eb4da919efe - - 2. https://www.jianshu.com/p/6b3a2304f63f - - - -### 题目的索引 - GITHUB上面打算整理一些比较典型 或者是 自己思考过的觉得很好的问题。 - - 1.从数据结构的角度索引 : - - a. 数组 - - 两数之和 - - 连续最大子数组 - - 乘积最大子数组 - - 买卖股票的最佳时机1,2,3 - - 买卖股票的最佳时机1:寻找数组里面的最大上升子序列 - 买卖股票的最佳时机2:寻找数组里面所有的上升子序列 - 买卖股票的最佳时机3:寻找数组里面两个不重合的上升子序列,并且使他们的和最大 to-do - - 区间合并(将有交集的区间合并) - - 寻找缺失的数 - - 1. 一个顺序的数组[1,2,3,5,6],缺少了一个数字,如何找到它? - - 2. 一个arr的数组,只有一个数字出现了一次,其他都出现了两次,如何找到它? - - 数组的近似划分(将一个数组分成两个,但是差最小) - - 数组里面第k大的数 - - 跳跃游戏1,2 - - 跳跃游戏1: - 给出一个非负整数数组,你最初定位在数组的第一个位置, - 数组中的每个元素代表你在那个位置可以跳跃的最大长度, - 返回 是否能到达数组的最后一个位置 - - 跳跃游戏2: - 给出一个非负整数数组,你最初定位在数组的第一个位置, - 数组中的每个元素代表你在那个位置可以跳跃的最大长度,    - 返回 使用最少的跳跃次数到达数组的最后一个位置 - - a+. 二维矩阵 - - 顺时针打印二维矩阵 - - 给出一个二维矩阵,找到一个路径(从某个左上角到某个角右下)使这条路径的值最大 - - b. 链表 - - c. 字符串 - - 最长公共子序列(并不是连续的) - - 最长回文子串 - - d. 二叉树 - - 返回一个平衡二叉树的第k大的节点 - - 二叉树的最低公共祖先 - - 非递归遍历二叉树 - - e. 图 - - 最短路径 - - 深度/广度优先遍历 - - 2. 从算法的角度建立索引 : - - a. 递归搜索问题 - - N后问题 - - 全排列 - - 组合问题1,2 - - b. 动态规划 - - 背包问题1,2 - - 数组的近似划分(将一个数组分成两个,但是差最小) - - 跳跃游戏1,2 - - 给出一个二维矩阵,找到一个路径(从某个左上角到某个角右下)使这条路径的值最大 - - - 3. 常用 - - a. 排列/组合 - - b. 深度优先遍历 - - c. 最短路径 - - 4. 智力题(算法本身很简单,就是想不到的那种) - - 最多有多少个点在同一条直线上 - - -### Others - - 1. 类似于系统设计的题目 - - 带最小值的栈/队列 - - url长链接转短链接 - - 2. 解决特定问题 - - 并查集 - - 布隆过滤器 - - - -如果你对机器学习的算法感兴趣,欢迎共同讨论: - -https://github.com/zhaozhengcoder/Machine-Learning +# Algorithm +leetcode/lintcode上的算法题 + +**关于问题的答案和解体的思路,可以移步 : https://github.com/zhaozhengcoder/Algorithm** + +### About + + 这个仓库最初的想法是把lintcode/lintocde上面的算法题目整理一下,因为很多题目太多了显得太乱了,就不继续在GitHub上面写了,以前写的一部分移到我的博客上面了。 + GitHub上面打算整理一些比较典型 或者是 自己思考过的觉得很好的问题。 + + + 在博客上面开了两个专栏 + + 1. 数据结构/算法导论 : + https://www.jianshu.com/nb/12397278 + + 2. OJ练习题 : + https://www.jianshu.com/nb/9973135 + + 推荐两篇自己对 递归搜索和动态规划 的理解的blog : + + 1. https://www.jianshu.com/p/5eb4da919efe + + 2. https://www.jianshu.com/p/6b3a2304f63f + + + +### 题目的索引 + GITHUB上面打算整理一些比较典型 或者是 自己思考过的觉得很好的问题。 + + 1.从数据结构的角度索引 : + + a. 数组 + + 两数之和 + + 连续最大子数组 + + 乘积最大子数组 + + 买卖股票的最佳时机1,2,3 + + 买卖股票的最佳时机1:寻找数组里面的最大上升子序列 + 买卖股票的最佳时机2:寻找数组里面所有的上升子序列 + 买卖股票的最佳时机3:寻找数组里面两个不重合的上升子序列,并且使他们的和最大 to-do + + 区间合并(将有交集的区间合并) + + 寻找缺失的数 + + 1. 一个顺序的数组[1,2,3,5,6],缺少了一个数字,如何找到它? + + 2. 一个arr的数组,只有一个数字出现了一次,其他都出现了两次,如何找到它? + + 数组的近似划分(将一个数组分成两个,但是差最小) + + 数组里面第k大的数 + + 跳跃游戏1,2 + + 跳跃游戏1: + 给出一个非负整数数组,你最初定位在数组的第一个位置, + 数组中的每个元素代表你在那个位置可以跳跃的最大长度, + 返回 是否能到达数组的最后一个位置 + + 跳跃游戏2: + 给出一个非负整数数组,你最初定位在数组的第一个位置, + 数组中的每个元素代表你在那个位置可以跳跃的最大长度,    + 返回 使用最少的跳跃次数到达数组的最后一个位置 + + a+. 二维矩阵 + + 顺时针打印二维矩阵 + + 给出一个二维矩阵,找到一个路径(从某个左上角到某个角右下)使这条路径的值最大 + + b. 链表 + + c. 字符串 + + 最长公共子序列(并不是连续的) + + 最长回文子串 + + d. 二叉树 + + 返回一个平衡二叉树的第k大的节点 + + 二叉树的最低公共祖先 + + 非递归遍历二叉树 + + e. 图 + + 最短路径 + + 深度/广度优先遍历 + + 2. 从算法的角度建立索引 : + + a. 递归搜索问题 + + N后问题 + + 全排列 + + 组合问题1,2 + + b. 动态规划 + + 背包问题1,2 + + 数组的近似划分(将一个数组分成两个,但是差最小) + + 跳跃游戏1,2 + + 给出一个二维矩阵,找到一个路径(从某个左上角到某个角右下)使这条路径的值最大 + + + 3. 常用 + + a. 排列/组合 + + b. 深度优先遍历 + + c. 最短路径 + + 4. 智力题(算法本身很简单,就是想不到的那种) + + 最多有多少个点在同一条直线上 + + +### Others + + 1. 类似于系统设计的题目 + + 带最小值的栈/队列 + + url长链接转短链接 + + 2. 解决特定问题 + + 并查集 + + 布隆过滤器 + + + +如果你对机器学习的算法感兴趣,欢迎共同讨论: + +https://github.com/zhaozhengcoder/Machine-Learning