Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

azl397985856/leetcode: LeetCode Solutions: A Record of My Problem Solving Journey.( leetcode题解,记录自己的leetcode解题之路。) #92

Open
yaohunzhanyue opened this issue Feb 2, 2021 · 0 comments
Labels

Comments

@yaohunzhanyue
Copy link
Owner

LeetCode












简体中文 | English


只有熟练掌握基础的数据结构与算法,才能对复杂问题迎刃有余。 在线阅读

📘电子书

这是我将我的所有公开的算法资料整理的一个电子书,全部题目信息中文化,以前会有一些英文描述,感谢 @CYL 的中文整理。


限时免费下载!后期随时可能收费

有些动图,在做成电子书(比如 pdf)的时候自然就变没了,如果需要看动图的, 可以去我的公众号《力扣加加》或者我的 leetcode 题解仓库看。

epub 还是有动图的

由于是电子书,因此阅读体验可能会更好, 但是相应地就不能获得及时的更新,因此你可以收藏一下我的同步电子书的网站 西法的刷题秘籍 - 在线版。后期可能将每日一题, 91 天学算法其他章节的讲义等也整理进来。

电子书有更新我也会在公众号《力扣加加》进行通知, 感兴趣的同学可以关注一下。

个人建议大家从在线版,pdf 和 mobi 选择适合自己的格式下载即可。pdf,mobi 和 epub 格式,关注我的公众号《力扣加加》回复电子书即可。

💻 插件

或许是一个可以改变你刷题效率的浏览器扩展插件。

  • 总结题型以及思路。
  • 内置各种常见刷题模板。
  • 更方便地看仓库题解,甚至可以基于公司筛选
  • 一键复制测试用例
  • 上班刷题必备的 “摸鱼模式”
  • 等等

插件地址:https://chrome.google.com/webstore/detail/leetcode-cheatsheet/fniccleejlofifaakbgppmbbcdfjonle?hl=en-US。

不能访问谷歌商店的朋友可以去我的公众号回复插件获取离线版。

强烈推荐大家使用谷歌商店安装, 这样如果有更新可以自动安装,毕竟咱们的插件更新还是蛮快的。

❗怎么刷 LeetCode?

📆《91 天学算法》限时活动

💁订阅公众号

有些内容只在公众号发布,因此大家觉得内容不错的话,可以关注一下。如果再给 ➕ 个星标就更棒啦!


📰  订阅

大家可以用 Github 提供的 RSS 来订阅我的仓库更新。

仓库介绍

leetcode 题解,记录自己的 leetcode 解题之路。

本仓库目前分为五个部分:

  • 第一个部分是 leetcode 经典题目的解析,包括思路,关键点和具体的代码实现。
  • 第二部分是对于数据结构与算法的总结
  • 第三部分是 anki 卡片, 将 leetcode 题目按照一定的方式记录在 anki 中,方便大家记忆。
  • 第四部分是每日一题,每日一题是在交流群(包括微信和 qq)里进行的一种活动,大家一起 解一道题,这样讨论问题更加集中,会得到更多的反馈。而且 这些题目可以被记录下来,日后会进行筛选添加到仓库的题解模块。
  • 第五部分是计划, 这里会记录将来要加入到以上三个部分内容

🍖仓库食用指南

  • 对于最近添加的部分, 后面会有 🆕 标注
  • 对于最近更新的部分, 后面会有 🖊 标注
  • 这里有一张互联网公司面试中经常考察的问题类型总结的思维导图,我们可以结合图片中的信息分析一下。


(图片来自 leetcode)

其中算法,主要是以下几种:

  • 基础技巧:分治、二分、贪心
  • 排序算法:快速排序、归并排序、计数排序
  • 搜索算法:回溯、递归、深度优先遍历,广度优先遍历,二叉搜索树等
  • 图论:最短路径、最小生成树
  • 动态规划:背包问题、最长子序列

数据结构,主要有如下几种:

  • 数组与链表:单 / 双向链表
  • 栈与队列
  • 哈希表
  • 堆:最大堆 / 最小堆
  • 树与图:最近公共祖先、并查集
  • 字符串:前缀树(字典树) / 后缀树

🚪  传送门

数据结构与算法的总结 (22 篇)

精选题解(9 篇)

leetcode 经典题目的解析(200 多道)

这里仅列举具有代表性题目,并不是全部题目

目前更新了 200 多道题解,加上专题涉及的题目,差不多有 300 道

简单难度题目合集

这里的题目难度比较小, 大多是模拟题,或者是很容易看出解法的题目,另外简单题目一般使用暴力法都是可以解决的。 这个时候只有看一下数据范围,思考下你的算法复杂度就行了。

当然也不排除很多 hard 题目也可以暴力模拟,大家平时多注意数据范围即可。

以下是我列举的经典题目(带 91 字样的表示出自 91 天学算法活动):

中等难度题目合集

中等题目是力扣比例最大的部分,因此这部分我的题解也是最多的。 大家不要太过追求难题,先把中等难度题目做熟了再说。

这部分的题目要不需要我们挖掘题目的内含信息, 将其抽象成简单题目。 要么是一些写起来比较麻烦的题目, 一些人编码能力不行就挂了。因此大家一定要自己做, 即使看了题解” 会了 “,也要自己码一遍。自己不亲自写一遍,里面的细节永远不知道。

以下是我列举的经典题目(带 91 字样的表示出自 91 天学算法活动):

困难难度题目合集

困难难度题目从类型上说多是:

  • 设计题
  • 游戏场景题目
  • 中等题目的 follow up

从解法上来说,多是:

  • 图算法
  • 动态规划
  • 二分法
  • DFS & BFS
  • 状态压缩
  • 剪枝

从逻辑上说, 要么就是非常难想到,要么就是非常难写代码。 这里我总结了几个技巧:

  1. 看题目的数据范围, 看能否暴力模拟
  2. 暴力枚举所有可能的算法往上套,比如图的题目。
  3. 总结和记忆解题模板,减少解题压力

以下是我列举的经典题目(带 91 字样的表示出自 91 天学算法活动):

🔱  anki 卡片

Anki 主要分为两个部分:一部分是关键点到题目的映射,另一部分是题目到思路,关键点,代码的映射。

全部卡片都在 anki-card

使用方法:

anki - 文件 - 导入 - 下拉格式选择 “打包的 anki 集合”,然后选中你下载好的文件,确定即可。

更多关于 anki 使用方法的请查看 anki 官网

目前已更新卡片一览(仅列举正面):

  • 二分法解决问题的关键点是什么,相关问题有哪些?
  • 如何用栈的特点来简化操作, 涉及到的题目有哪些?
  • 双指针问题的思路以及相关题目有哪些?
  • 滑动窗口问题的思路以及相关题目有哪些?
  • 回溯法解题的思路以及相关题目有哪些?
  • 数论解决问题的关键点是什么,相关问题有哪些?
  • 位运算解决问题的关键点是什么,相关问题有哪些?

已加入的题目有:#2 #3 #11

🐝  每日一题

每日一题是在交流群(包括微信和 qq)里通过 issues 来进行的一种活动,大家一起 解一道题,这样讨论问题更加集中,会得到更多的反馈。而且 这些题目可以被记录下来,日后会进行筛选添加到仓库的题解模块。

☑️  计划

  • LeetCode 换皮题目集锦
  • 动态规划完善。最长递增子序列,最长回文子序列,编辑距离等 “字符串” 题目, 扔鸡蛋问题。 解题模板,滚动数组。
  • 堆可以解决的题目。 手写堆
  • BFS & DFS

📈大事件


💝 贡献

  • 如果有想法和创意,请提 issue 或者进群提

  • 如果想贡献增加题解或者翻译, 可以参考 贡献指南

    关于如何提交题解,我写了一份 指南

  • 如果需要修改项目中图片,这里 存放了项目中绘制图的源代码, 大家可以用 draw.io 打开进行编辑。

💌鸣谢

感谢为这个项目作出贡献的所有 小伙伴

License

CC BY-NC-ND 4.0
https://github.com/azl397985856/leetcode

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant