Leetcode 题目分类

江湖流传着一句话“刷leetcode,你不一定能找到工作;不刷leetcode,你一定找不到工作”,这句话有些夸张的成分在里面,但是刷leetcode的重要性是一点不夸张的。

去年,我有一个高我一届朋友,她不是学计算机专业的,是学自动化的。在IT的时代浪潮下,决定找计算机相关的工作。那时她的基础还很差,要学的东西是很多的。想面面俱到是不可能的,编程能力的锻炼又是不可缺少的。想短期提高编程能力,就得高效的利用leetcode,既然不能把leetcode上的题目全做完,那么就有分类的来做吧。于是我在知乎上找到了下面这个分类。并帮助我的那个朋友刷了其中的一些,最后她也找到了一个不错的工作。

如果你是计算机专业的,或者说你离找工作时间还早,建议你就不要看这个分类了,认认真真的去刷leetcode吧。短期提高什么的,还是挺有用的。


利用堆栈:
http://oj.leetcode.com/problems/evaluate-reverse-polish-notation/
http://oj.leetcode.com/problems/longest-valid-parentheses/ (也可以用一维数组,贪心)
http://oj.leetcode.com/problems/valid-parentheses/
http://oj.leetcode.com/problems/largest-rectangle-in-histogram/
特别注意细节:http://oj.leetcode.com/problems/trapping-rain-water/

多种数据结构:
http://oj.leetcode.com/problems/lru-cache/
http://oj.leetcode.com/problems/substring-with-concatenation-of-all-words/ (注意遍历方法)
HASH:http://oj.leetcode.com/problems/longest-consecutive-sequence/

简单编程:
http://oj.leetcode.com/problems/longest-common-prefix/
http://oj.leetcode.com/problems/string-to-integer-atoi/ (分析,控制语句)

排序 & 查找:
二分查找:http://oj.leetcode.com/problems/search-a-2d-matrix/
二分查找进阶:http://oj.leetcode.com/problems/search-for-a-range/
二分查找应用:http://oj.leetcode.com/problems/sqrtx/
二分查找应用:http://oj.leetcode.com/problems/search-insert-position/
二分查找变种:http://oj.leetcode.com/problems/search-in-rotated-sorted-array/
二分查找变种:http://oj.leetcode.com/problems/search-in-rotated-sorted-array-ii/

简单数学:
http://oj.leetcode.com/problems/pascals-triangle/
http://oj.leetcode.com/problems/pascals-triangle-ii/
http://oj.leetcode.com/problems/powx-n/
http://oj.leetcode.com/problems/reverse-integer/
http://oj.leetcode.com/problems/plus-one/
http://oj.leetcode.com/problems/unique-paths/
http://oj.leetcode.com/problems/palindrome-number/
http://oj.leetcode.com/problems/permutation-sequence/
http://oj.leetcode.com/problems/merge-intervals/
http://oj.leetcode.com/problems/valid-number/
http://oj.leetcode.com/problems/climbing-stairs/
http://oj.leetcode.com/problems/roman-to-integer/
http://oj.leetcode.com/problems/integer-to-roman/
http://oj.leetcode.com/problems/divide-two-integers/
区间:http://oj.leetcode.com/problems/insert-interval/

大数的数学运算:
http://oj.leetcode.com/problems/add-binary/
http://oj.leetcode.com/problems/add-two-numbers/

数组:
http://oj.leetcode.com/problems/remove-element/
http://oj.leetcode.com/problems/merge-sorted-array/
http://oj.leetcode.com/problems/first-missing-positive/
http://oj.leetcode.com/problems/spiral-matrix/
http://oj.leetcode.com/problems/spiral-matrix-ii/
http://oj.leetcode.com/problems/rotate-image/
遍历技巧:http://oj.leetcode.com/problems/container-with-most-water/
http://oj.leetcode.com/problems/two-sum/
http://oj.leetcode.com/problems/3sum/
http://oj.leetcode.com/problems/3sum-closest/
http://oj.leetcode.com/problems/4sum/
http://oj.leetcode.com/problems/set-matrix-zeroes/
用好标记数组:http://oj.leetcode.com/problems/valid-sudoku/
http://oj.leetcode.com/problems/next-permutation/
http://oj.leetcode.com/problems/word-search/
http://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/
http://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/
http://oj.leetcode.com/problems/sort-colors/

暴力方法/细节实现:
http://oj.leetcode.com/problems/max-points-on-a-line/

链表:
归并排序:http://oj.leetcode.com/problems/sort-list/
插入排序:http://oj.leetcode.com/problems/insertion-sort-list/
反转、插入:http://oj.leetcode.com/problems/reorder-list/
检测是否有环:http://oj.leetcode.com/problems/linked-list-cycle/
确定链表环的起点:http://oj.leetcode.com/problems/linked-list-cycle-ii/
Deep Copy 带有随机指针的链表:http://oj.leetcode.com/problems/copy-list-with-random-pointer/
链表细节:http://oj.leetcode.com/problems/rotate-list/
http://oj.leetcode.com/problems/remove-duplicates-from-sorted-list/
删除细节:http://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/
http://oj.leetcode.com/problems/partition-list/
http://oj.leetcode.com/problems/swap-nodes-in-pairs/
Merge 两个链表:http://oj.leetcode.com/problems/merge-two-sorted-lists/
Merge 多链表:http://oj.leetcode.com/problems/merge-k-sorted-lists/
细节:http://oj.leetcode.com/problems/reverse-nodes-in-k-group/
http://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/
http://oj.leetcode.com/problems/reverse-linked-list-ii/

二叉树遍历:递归 & 非递归
http://oj.leetcode.com/problems/same-tree/
前序:http://oj.leetcode.com/problems/binary-tree-preorder-traversal/
中序:http://oj.leetcode.com/problems/binary-tree-inorder-traversal/
后序:http://oj.leetcode.com/problems/binary-tree-postorder-traversal/
遍历变种:http://oj.leetcode.com/problems/sum-root-to-leaf-numbers/
遍历变种:http://oj.leetcode.com/problems/path-sum/
遍历变种:http://oj.leetcode.com/problems/path-sum-ii/
遍历变种:http://oj.leetcode.com/problems/maximum-depth-of-binary-tree/
遍历变种:http://oj.leetcode.com/problems/minimum-depth-of-binary-tree/
重建二叉树:http://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/
重建二叉树:http://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/
层次遍历变种:http://oj.leetcode.com/problems/binary-tree-zigzag-level-order-traversal/
遍历变种:http://oj.leetcode.com/problems/symmetric-tree/
遍历应用:http://oj.leetcode.com/problems/binary-tree-maximum-path-sum/
遍历应用:http://oj.leetcode.com/problems/balanced-binary-tree/
遍历应用:http://oj.leetcode.com/problems/recover-binary-search-tree/
遍历应用:http://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/
level遍历:http://oj.leetcode.com/problems/binary-tree-level-order-traversal/
level 遍历:http://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/
level 遍历变种:http://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/
level 遍历变种:http://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/

问题分析/智商/细节:
http://oj.leetcode.com/problems/single-number/
http://oj.leetcode.com/problems/single-number-ii/
http://oj.leetcode.com/problems/candy/
http://oj.leetcode.com/problems/gas-station/

动态规划:
http://oj.leetcode.com/problems/triangle/ (最短路径)
http://oj.leetcode.com/problems/subsets/ (另一种形式)
http://oj.leetcode.com/problems/subsets-ii/
http://oj.leetcode.com/problems/edit-distance/ (经典)
http://oj.leetcode.com/problems/word-break/
http://oj.leetcode.com/problems/word-break-ii/
http://oj.leetcode.com/problems/unique-binary-search-trees/ (动态规划避免递归)
http://oj.leetcode.com/problems/unique-paths-ii/
http://oj.leetcode.com/problems/scramble-string/
http://oj.leetcode.com/problems/palindrome-partitioning/
http://oj.leetcode.com/problems/palindrome-partitioning-ii/
http://oj.leetcode.com/problems/interleaving-string/
http://oj.leetcode.com/problems/distinct-subsequences/
http://oj.leetcode.com/problems/decode-ways/
http://oj.leetcode.com/problems/gray-code/
http://oj.leetcode.com/problems/minimum-path-sum/

回溯:
http://oj.leetcode.com/problems/combinations/
http://oj.leetcode.com/problems/generate-parentheses/
http://oj.leetcode.com/problems/combination-sum/
http://oj.leetcode.com/problems/combination-sum-ii/
http://oj.leetcode.com/problems/sudoku-solver/
经典N皇后:http://oj.leetcode.com/problems/n-queens/
http://oj.leetcode.com/problems/n-queens-ii/
http://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/

贪心:
http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock/
http://oj.leetcode.com/problems/jump-game/
http://oj.leetcode.com/problems/jump-game-ii/
http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/
http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/
http://oj.leetcode.com/problems/maximum-subarray/
http://oj.leetcode.com/problems/minimum-window-substring/
http://oj.leetcode.com/problems/maximal-rectangle/
http://oj.leetcode.com/problems/longest-substring-without-repeating-characters/

分治 & 递归:
http://oj.leetcode.com/problems/unique-binary-search-trees-ii/
http://oj.leetcode.com/problems/restore-ip-addresses/ (时间复杂度有限,递归满足)
http://oj.leetcode.com/problems/permutations/
http://oj.leetcode.com/problems/permutations-ii/
http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/
http://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/
http://oj.leetcode.com/problems/median-of-two-sorted-arrays/
http://oj.leetcode.com/problems/validate-binary-search-tree/

字符串:
http://oj.leetcode.com/problems/count-and-say/
http://oj.leetcode.com/problems/implement-strstr/ (子串查找)
http://oj.leetcode.com/problems/anagrams/
http://oj.leetcode.com/problems/text-justification/ (细节)
http://oj.leetcode.com/problems/simplify-path/ (基础控制语句 if-else-for)
http://oj.leetcode.com/problems/multiply-strings/
http://oj.leetcode.com/problems/regular-expression-matching/
http://oj.leetcode.com/problems/wildcard-matching/
http://oj.leetcode.com/problems/longest-palindromic-substring/
http://oj.leetcode.com/problems/zigzag-conversion/
http://oj.leetcode.com/problems/length-of-last-word/
http://oj.leetcode.com/problems/valid-palindrome/

图:
深搜/广搜:http://oj.leetcode.com/problems/clone-graph/

搜索 & 遍历:
http://oj.leetcode.com/problems/word-ladder/
http://oj.leetcode.com/problems/word-ladder-ii/
广搜:http://oj.leetcode.com/problems/surrounded-regions/

你可能感兴趣的:(Leetcode)