五毒掌法刷leetcode |
算法与数据结构
精通一个领域的方法
切碎知识点
数据结构
高级
算法
if else--->branch
for while-->iteration
递归
搜索,深度优先搜索,广度优先搜索
动态规划
二分查找
贪心
数学math
刷题五毒章法
第一遍
5分钟 读题+思考
想不出来,直接看解法
背诵默写好写法
第二遍
马上自己写
leetcode提交
多种解法比较
第三遍
过一天重新做
不同解法的熟练程序
过了一周
反复做之前的题目
面试前一周
恢复性训练
训练准备
复杂度分析
大O
O(1)
O(n)
O(logn)
O(n^2)
O(n^3)
O(2^n)
O(n!)
递归常见复杂度
1. 二分查找分(有序序列查找):O(logN)
2. 二叉树遍历:O(N)
3. 排好序的二维矩阵中查找:O(N)
4. 归并排序:O(NlogN)
第一周-数组,链表,队列,栈
Array 实战题目
https://leetcode-cn.com/problems/container-with-most-water/
https://leetcode-cn.com/problems/move-zeroes/
https://leetcode.com/problems/climbing-stairs/
https://leetcode-cn.com/problems/3sum/ (高频老题)
Linked List 实战题目
https://leetcode.com/problems/reverse-linked-list/
https://leetcode.com/problems/swap-nodes-in-pairs
https://leetcode.com/problems/linked-list-cycle
https://leetcode.com/problems/linked-list-cycle-ii
https://leetcode.com/problems/reverse-nodes-in-k-group/
课后作业
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
https://leetcode-cn.com/problems/rotate-array/
https://leetcode-cn.com/problems/merge-two-sorted-lists/
https://leetcode-cn.com/problems/merge-sorted-array/
https://leetcode-cn.com/problems/two-sum/
https://leetcode-cn.com/problems/move-zeroes/
https://leetcode-cn.com/problems/plus-one/
栈,队列
预习题目
https://leetcode-cn.com/problems/valid-parentheses/
https://leetcode-cn.com/problems/min-stack/
实战题目
https://leetcode-cn.com/problems/largest-rectangle-in-histogram
https://leetcode-cn.com/problems/sliding-window-maximum
安排(周一-周五刷完,周六周日再不看题解快速写一遍)
11-25--12.01
刷完题目
Array 实战题目
https://leetcode-cn.com/problems/container-with-most-water/
https://leetcode-cn.com/problems/move-zeroes/
https://leetcode.com/problems/climbing-stairs/
https://leetcode-cn.com/problems/3sum/ (高频老题)
Linked List 实战题目
https://leetcode.com/problems/reverse-linked-list/
https://leetcode.com/problems/swap-nodes-in-pairs
https://leetcode.com/problems/linked-list-cycle
https://leetcode.com/problems/linked-list-cycle-ii
https://leetcode.com/problems/reverse-nodes-in-k-group/
课后作业
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
https://leetcode-cn.com/problems/rotate-array/
https://leetcode-cn.com/problems/merge-two-sorted-lists/
https://leetcode-cn.com/problems/merge-sorted-array/
https://leetcode-cn.com/problems/two-sum/
https://leetcode-cn.com/problems/move-zeroes/
https://leetcode-cn.com/problems/plus-one/
栈队列预习题目
https://leetcode-cn.com/problems/valid-parentheses/
https://leetcode-cn.com/problems/min-stack/
实战题目
https://leetcode-cn.com/problems/largest-rectangle-in-histogram
https://leetcode-cn.com/problems/sliding-window-maximum
课后作业
用 add first 或 add last 这套新的 API 改写 Deque 的代码
分析 Queue 和 Priority Queue 的源码
https://leetcode.com/problems/design-circular-deque
https://leetcode.com/problems/trapping-rain-water/
剑指offer
https://github.com/gatieme/CodingInterviews
第二周-哈希表、映射、集合,数、图、二叉树、二叉搜索树,泛型递归、树的递归,分治、回溯
第五周:
https://leetcode-cn.com/problems/valid-anagram/description/
https://leetcode-cn.com/problems/group-anagrams/
https://leetcode-cn.com/problems/two-sum/description/
写一个关于HashMap的小总结
说明:对于不熟悉Java语言的同学,此项作业可选做。
请大家将HashMap的小总结放在本周学习总结中一并提交
第六课课后习题:
https://leetcode-cn.com/problems/binary-tree-inorder-traversal/
https://leetcode-cn.com/problems/binary-tree-preorder-traversal/
https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal/
https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/
https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal/
第七课课后习题:
https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/
https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal
https://leetcode-cn.com/problems/combinations/
https://leetcode-cn.com/problems/permutations/
https://leetcode-cn.com/problems/permutations-ii/
第八课课后习题:
https://leetcode-cn.com/problems/majority-element/description/
https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/
https://leetcode-cn.com/problems/n-queens/
递归类型题目
https://leetcode-cn.com/problems/invert-binary-tree/
https://leetcode-cn.com/problems/validate-binary-search-tree/
https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/
https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/
https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/
https://leetcode-cn.com/problems/generate-parentheses/
递归代码模版
递归思维要点
不要进行人肉递归
找到最近最简方法,将其拆解成可重复解决的问题(重复子问题)
数学归纳法思维
回溯题目
https://leetcode-cn.com/problems/subsets/
https://leetcode-cn.com/problems/combination-sum/
https://leetcode-cn.com/problems/combination-sum-ii/
https://leetcode-cn.com/problems/permutations/
https://leetcode-cn.com/problems/permutations-ii/
https://leetcode-cn.com/problems/subsets-ii/
https://leetcode-cn.com/problems/majority-element/description/
https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/
https://leetcode-cn.com/problems/n-queens/
第三周-深度优先搜索和广度优先搜索,贪心算法,二分查找
第9课课后作业
https://leetcode-cn.com/problems/word-ladder/description/
https://leetcode-cn.com/problems/word-ladder-ii/description/
https://leetcode-cn.com/problems/number-of-islands/
https://leetcode-cn.com/problems/minesweeper/description/
第10课课后作业
https://leetcode-cn.com/problems/lemonade-change/description/
https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/description/
https://leetcode-cn.com/problems/assign-cookies/description/
https://leetcode-cn.com/problems/walking-robot-simulation/description/
https://leetcode-cn.com/problems/jump-game/ 、https://leetcode-cn.com/problems/jump-game-ii/
第11课课后作业
https://leetcode-cn.com/problems/search-in-rotated-sorted-array/
https://leetcode-cn.com/problems/search-a-2d-matrix/
https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/
第四周-动态规划
第12课课后作业
https://leetcode-cn.com/problems/longest-valid-parentheses/
https://leetcode-cn.com/problems/minimum-path-sum/
https://leetcode-cn.com/problems/edit-distance/
https://leetcode-cn.com/problems/decode-ways
https://leetcode-cn.com/problems/maximal-square/
https://leetcode-cn.com/problems/max-sum-of-rectangle-no-larger-than-k/
https://leetcode-cn.com/problems/frog-jump/
https://leetcode-cn.com/problems/split-array-largest-sum
https://leetcode-cn.com/problems/student-attendance-record-ii/
https://leetcode-cn.com/problems/task-scheduler/
https://leetcode-cn.com/problems/palindromic-substrings/
https://leetcode-cn.com/problems/minimum-window-substring/
https://leetcode-cn.com/problems/burst-balloons/
第五周-字典树和并查集,高级搜索,红黑树和AVL树
第13课课后作业
https://leetcode-cn.com/problems/implement-trie-prefix-tree/
https://leetcode-cn.com/problems/word-search-ii/
https://leetcode-cn.com/problems/friend-circles
https://leetcode-cn.com/problems/number-of-islands/
https://leetcode-cn.com/problems/surrounded-regions/
第14课课后作业
https://leetcode-cn.com/problems/n-queens/
https://leetcode-cn.com/problems/valid-sudoku/
https://leetcode-cn.com/problems/sudoku-solver/
https://leetcode-cn.com/problems/word-ladder/
https://leetcode-cn.com/problems/minimum-genetic-mutation/
https://leetcode-cn.com/problems/shortest-path-in-binary-matrix/
https://leetcode-cn.com/problems/sliding-puzzle/
第六周-位运算,布隆过滤器和LRU缓存,排序
第16课课后作业
https://leetcode-cn.com/problems/number-of-1-bits/
https://leetcode-cn.com/problems/power-of-two/
https://leetcode-cn.com/problems/reverse-bits/
https://leetcode-cn.com/problems/n-queens/description/
https://leetcode-cn.com/problems/n-queens-ii/description/
https://leetcode-cn.com/problems/counting-bits/description/
##第17课课后作业
https://leetcode-cn.com/problems/lru-cache/
第18课课后作业
https://leetcode-cn.com/problems/relative-sort-array/
https://leetcode-cn.com/problems/valid-anagram/
https://leetcode-cn.com/problems/design-a-leaderboard/
https://leetcode-cn.com/problems/merge-intervals/
https://leetcode-cn.com/problems/reverse-pairs/
leetcode分类
https://github.com/shisiying/leetcode_category