常见的算法,主要是以下几种:
- 基础技巧:分治、二分、贪心
- 排序算法:快速排序、归并排序、计数排序
- 搜索算法:回溯、递归、深度优先遍历,广度优先遍历,二叉搜索树等
- 图论:最短路径、最小生成树
- 动态规划:背包问题、最长子序列
数据结构,主要有如下几种:
- 数组与链表:单 / 双向链表
- 栈与队列
- 哈希表
- 堆:最大堆 / 最小堆
- 树与图:最近公共祖先、并查集
- 字符串:前缀树(字典树) / 后缀树
这里有一张互联网公司面试中经常考察的问题类型总结的思维导图,我们可以结合图片中的信息分析一下。

未来几个月将按照以下的顺序,依次按照由简到难的顺序刷完,在此记录任务。
简单难度
- 0020.Valid Parentheses
- 0026.remove-duplicates-from-sorted-array
- 0088.merge-sorted-array
- 0104.maximum-depth-of-binary-tree
- 0121.best-time-to-buy-and-sell-stock
- 0122.best-time-to-buy-and-sell-stock-ii
- 0125.valid-palindrome ?
- 0136.single-number
- 0155.min-stack ?
- 0167.two-sum-ii-input-array-is-sorted
- 0172.factorial-trailing-zeroes
- 0169.majority-element
- 0190.reverse-bits
- 0191.number-of-1-bits
- 0198.house-robber
- 0203.remove-linked-list-elements
- 0206.reverse-linked-list
- 0219.contains-duplicate-ii
- 0226.invert-binary-tree
- 0232.implement-queue-using-stacks ?
- 0263.ugly-number
- 0283.move-zeroes
- 0342.power-of-four
- 0349.intersection-of-two-arrays
- 0371.sum-of-two-integers
- 0575.distribute-candies
中等难度
- 0002. Add Two Numbers
- 0003. Longest Substring Without Repeating Characters
- 0005.longest-palindromic-substring ?
- 0011.container-with-most-water
- 0015.3-sum
- 0019. Remove Nth Node From End of List
- 0024. Swap Nodes In Pairs
- 0029.divide-two-integers ?
- 0031.next-permutation ?
- 0033.search-in-rotated-sorted-array ?
- 0039.combination-sum
- 0040.combination-sum-ii
- 0046.permutations
- 0047.permutations-ii
- 0048.rotate-image ?
- 0049.group-anagrams ?
- 0055.jump-game
- 0056.merge-intervals
- 0062.unique-paths
- 0073.set-matrix-zeroes
- 0075.sort-colors
- 0078.subsets
- 0086.partition-list
- 0090.subsets-ii
- 0091.decode-ways
- 0092.reverse-linked-list-ii
- 0094.binary-tree-inorder-traversal
- 0098.validate-binary-search-tree ?
- 0102.binary-tree-level-order-traversal
- 0103.binary-tree-zigzag-level-order-traversal
- 0113.path-sum-ii ?
- 0131.palindrome-partitioning
- 0139.word-break
- 0144.binary-tree-preorder-traversal
- 0150.evaluate-reverse-polish-notation
- 0152.maximum-product-subarray
- 0199.binary-tree-right-side-view
- 0201.bitwise-and-of-numbers-range
- 0208.implement-trie-prefix-tree
- 0209.minimum-size-subarray-sum
- 0230.kth-smallest-element-in-a-bst
- 0236.lowest-common-ancestor-of-a-binary-tree?
- 0238.product-of-array-except-self
- 0240.search-a-2-d-matrix-ii
- 0279.perfect-squares
- 0309.best-time-to-buy-and-sell-stock-with-cooldown ?
- 0322.coin-change
- 0328.odd-even-linked-list
- 0334.increasing-triplet-subsequence
- 0365.water-and-jug-problem
- 0378.kth-smallest-element-in-a-sorted-matrix ?
- 0416.partition-equal-subset-sum
- 0445.add-two-numbers-ii
- 0454.4-sum-ii
- 0494.target-sum
- 0516.longest-palindromic-subsequence
- 0518.coin-change-2
- 0609.find-duplicate-file-in-system
- 0875.koko-eating-bananas
- 0877.stone-game
- 0887.super-egg-drop
- 0900.rle-iterator
- 1031.maximum-sum-of-two-non-overlapping-subarrays ?
本文涵盖算法核心,包括分治、贪心、动态规划等,及数据结构关键,如数组、链表、树和图的深入解析。针对互联网公司面试,精选LeetCode题目,从简单到中等难度,助你掌握算法精髓。

3118

被折叠的 条评论
为什么被折叠?



