内容简介:leetcode 题解,记录自己的 leetcode 解题之路。本仓库目前分为四个部分:
介绍
leetcode 题解,记录自己的 leetcode 解题之路。
本仓库目前分为四个部分:
-
第一个部分是 leetcode 经典题目的解析,包括思路,关键点和具体的代码实现。
-
第二部分是对于数据结构与算法的总结
-
第三部分是 anki 卡片, 将 leetcode 题目按照一定的方式记录在 anki 中,方便大家记忆。
-
第四部分是计划, 这里会记录将来要加入到以上三个部分内容
只有熟练掌握基础的数据结构与算法,才能对复杂问题迎刃有余。
食用指南
-
对于最近添加的部分, 前面会有
:new: 标注 -
对于最近更新的部分, 前面会有
-
将来会在这里更新anki卡片
-
这里有一份leetcode官方账号在知乎上给出的一个《互联网公司最常见的面试算法题有哪些?》的答案,我这里尽量去覆盖回答中的题目和知识点 原文地址: https://www.zhihu.com/question/24964987/answer/586425979
-
这里有一张互联网公司面试中经常考察的问题类型总结的思维导图,我们可以结合图片中的信息分析一下。
(图片来自leetcode)
其中算法,主要是以下几种:
- 基础技巧:分治、二分、贪心
- 排序算法:快速排序、归并 排序 、计数排序
- 搜索算法:回溯、递归、深度优先遍历,广度优先遍历,二叉搜索树等
- 图论:最短路径、最小生成树
- 动态规划:背包问题、最长子序列
数据结构,主要有如下几种:
- 数组与链表:单 / 双向链表
- 栈与队列
- 哈希表
- 堆:最大堆 / 最小堆
- 树与图:最近公共祖先、并查集
- 字符串:前缀树(字典树) / 后缀树
精彩预告
42.trapping-rain-water-1(雨水收集问题):
浏览器中的栈:
回溯法解题:
- koko-eating-bananas:
传送门
leetcode 经典题目的解析
简单难度
-
- 26.remove-duplicates-from-sorted-array
-
:new: 88.merge-sorted-array - 136.single-number
- 167.two-sum-ii-input-array-is-sorted
-
:new: 169.majority-element - 190.reverse-bits
- 191.number-of-1-bits
- 203.remove-linked-list-elements
- 206.reverse-linked-list
- 219.contains-duplicate-ii
- 226.invert-binary-tree
- 283.move-zeroes
- 349.intersection-of-two-arrays
中等难度
- 2. Add Two Numbers
- 3. Longest Substring Without Repeating Characters
- 11.container-with-most-water
- 19. Remove Nth Node From End of List
- 24. Swap Nodes In Pairs
-
:new: 39.combination-sum -
:new: 40.combination-sum-ii -
:new: 46.permutations -
:new: 47.permutations-ii -
:new: 55.jump-game -
:new: 62.unique-paths - 75.sort-colors
-
:new: 78.subsets - 86.partition-list
-
:new: 90.subsets-ii - 92.reverse-linked-list-ii
- 94.binary-tree-inorder-traversal
- 102.binary-tree-level-order-traversal
- 103.binary-tree-zigzag-level-order-traversal
- 139.word-break
- 144.binary-tree-preorder-traversal
-
-
:new: 152.maximum-product-subarray - 199.binary-tree-right-side-view
- 201.bitwise-and-of-numbers-range
-
:new: 208.implement-trie-prefix-tree -
-
:new: 236.lowest-common-ancestor-of-a-binary-tree -
:new: 238.product-of-array-except-self - 240.search-a-2-d-matrix-ii
-
- 322.coin-change
-
:new: 334.increasing-triplet-subsequence - 328.odd-even-linked-list
- 416.partition-equal-subset-sum
- 445.add-two-numbers-ii
- 518.coin-change-2
- 875.koko-eating-bananas
- 877.stone-game
- 887.super-egg-drop
- 900.rle-iterator
困难难度
-
:new: 23.merge-k-sorted-lists -
:new: 42.trapping-rain-water -
:new: 128.longest-consecutive-sequence - 145.binary-tree-postorder-traversal
- 146.lru-cache
-
:new: 239.sliding-window-maximum -
:new: 295.find-median-from-data-stream.md - 301.remove-invalid-parentheses
数据结构与算法的总结
-
-
- 动态规划
- 哈夫曼编码和游程编码
- 布隆过滤器
anki 卡片
Anki主要分为两个部分:一部分是关键点到题目的映射,另一部分是题目到思路,关键点,代码的映射。
全部卡片都在 anki-card
使用方法:
anki - 文件 - 导入 - 下拉格式选择“打包的 anki集合”,然后选中你下载好的文件,确定即可。
更多关于anki使用方法的请查看 anki官网
目前已更新卡片一览(仅列举正面):
- 二分法解决问题的关键点是什么,相关问题有哪些
- 如何用栈的特点来简化操作, 涉及到的题目有哪些?
- 双指针问题的思路以及相关题目有哪些?
- 滑动窗口问题的思路以及相关题目有哪些?
- 回溯法解题的思路以及相关题目有哪些?
计划
交流群
现在还是初级阶段,需要大家的意见和反馈,为了减少沟通成本,我组建了交流群。大家可以扫码进入
(qq 群)
(由于微信的限制,100个人以上只能邀请加入, 你可以添加我的机器人回复“leetcode”拉你进群)
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 一文学会链表解题
- 小记一类ctf密码题解题思路
- FireShellCTF2019 Bad Injections解题记录
- Leetcode 第133场周赛解题报告
- Leetcode 第135场周赛解题报告
- Leetcode 第136场周赛解题报告
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。