algorithms-learning/algorithms-leetcode at master · brianway/algorithms-learning

1 Two Sum Easy Hash Table 2 Add Two Numbers Medium Linked List 3 Longest Substring Without Repeating Characters Medium Sliding Window,Hash Table 5 Longest Palindromic Substring Medium Dynamic Programming/Two Pointers TODO 一题多解 6 Zigzag Conversion Medium 一题多解TODO 10 Regular Expression Matching Hard 11 Container With Most Water Medium Two Pointers 15 3Sum Medium Two Pointers 17 Letter Combinations of a Phone Number Medium Backtracking 19 Remove Nth Node From End of List Medium Two Pointers 20 Valid Parentheses Easy Stack 21 Merge Two Sorted Lists Easy 22 Generate Parentheses Medium Dynamic Programming,Backtracking 复习1次 23 Merge k Sorted Lists Hard 24 Swap Nodes in Pairs Medium Linked List/Recursion 一题多解决 26 Remove Duplicates from Sorted Array Easy 27 Remove Element Easy Two Pointers 一题多解 31 Next Permutation Medium 33 Search in Rotated Sorted Array Medium Binary Search 一题多解 34 Find First and Last Position of Element in Sorted Array Medium Binary Search 35 Search Insert Position Easy Binary Search 39 Combination Sum Medium Backtracking 41 First Missing Positive Hard Hash Table 一题多解 42 Trapping Rain Water Hard Dynamic Programming/Stack/Two Pointers FT, TODO 一题多解,重点复习 45 Jump Game II Medium Dynamic Programming/Greedy 一题多解 46 Permutations Medium Backtracking 48 Rotate Image Medium TODO 一题多解 49 Group Anagrams Medium FT,TODO 一题多解 53 Maximum Subarray Medium Dynamic Programming/divide and conquer 一题多解 54 Spiral Matrix Medium FT 55 Jump Game Medium Greedy 56 Merge Intervals Medium Sort FT 62 Unique Paths Medium 63 Unique Paths II Medium 待重做 64 Minimum Path Sum Medium Dynamic Programming FT 70 Climbing Stairs Easy Dynamic Programming/Recursion 一题多解 72 Edit Distance Hard Dynamic Programming 73 Set Matrix Zeroes Medium Array FT,TODO待优化 74 Search a 2D Matrix Medium Binary Search FT, TODO 两次二分 75 Sort Colors Medium Two Pointers/ 一题多解, TODO 77 Combinations Medium Backtracking 78 Subsets Medium Backtracking FT 79 Word Search Medium Backtracking 待查题解 94 Binary Tree Inorder Traversal Easy Binary Tree/Stack 一题多解,待复习 96 Unique Binary Search Trees Medium Dynamic Programming 98 Validate Binary Search Tree Medium Binary Search/Recursion 一题多解 101 Symmetric Tree Easy Binary Tree/Queue/Stack 一题多解 102 Binary Tree Level Order Traversal Medium Binary Tree,DFS/BFS 一题多解 104 Maximum Depth of Binary Tree Easy Binary Tree/Queue 105 Construct Binary Tree from Preorder and Inorder Traversal Medium Binary Tree,divide and conquer 只写了常规解法 106 Construct Binary Tree from Inorder and Postorder Traversal Medium Binary Tree,divide and conquer 107 Binary Tree Level Order Traversal II Medium Binary Tree,DFS/BFS 同第102题,TODO 110 Balanced Binary Tree Easy Binary Tree/Queue 111 Minimum Depth of Binary Tree Easy Binary Tree/Queue 112 Path Sum Easy Binary Tree/Queue 113 Path Sum II Easy Binary Tree TODO 114 Flatten Binary Tree to Linked List Medium Binary Tree FT, TODO 待优化 115 Distinct Subsequences Hard Dynamic Programming TODO待复习 120 Triangle Medium 121 Best Time to Buy and Sell Stock Easy 待查最优解,以及一题多解 122 Best Time to Buy and Sell Stock II Medium Dynamic Programming/Greedy 一题多解 128 Longest Consecutive Sequence Medium Hash Table TODO一题多解 131 Palindrome Partitioning Medium Backtracking, Dynamic Programming FT, TODO 待复习, 关联题目LeetCode 5 138 Copy List with Random Pointer Medium Hash Table FT,一题多解 139 Word Break Medium Dynamic Programming,完全背包 141 Linked List Cycle Easy Two Pointers 142 Linked List Cycle II Medium Two Pointers/Hash Table FT 144 Binary Tree Preorder Traversal Easy Binary Tree/Stack 一题多解 148 Sort List Medium 150 Evaluate Reverse Polish Notation Medium Stack 152 Maximum Product Subarray Medium Dynamic Programming FT 153 Find Minimum in Rotated Sorted Array Medium 155 Min Stack Medium Stack FT 162 Find Peak Element Medium 169 Majority Element Easy 198 House Robber Medium Dynamic Programming 199 Binary Tree Right Side View Medium Binary Tree 202 Happy Number Easy 206 Reverse Linked List Easy Linked List/Recursion 一题多解 209 Minimum Size Subarray Sum Medium Sliding Window/Binary Search 一题多解 216 Combination Sum III Medium Backtracking 一题多解 221 Maximal Square Medium 222 Count Complete Tree Nodes Medium Binary Tree/Binary Search TODO一题多解 226 Invert Binary Tree Easy Binary Tree 230 Kth Smallest Element in a BST Medium Binary Tree 只写了常规解法 231 Power of Two Easy 236 Lowest Common Ancestor of a Binary Tree Medium Binary Tree 239 Sliding Window Maximum Hard Sliding Window,Monotonic Queue 257 Binary Tree Paths Easy 268 Missing Number Easy Hash Table/Bit Manipulation 一题多解 300 Longest Increasing Subsequence Medium Dynamic Programming,Binary Search 经典题 322 Coin Change Medium Dynamic Programming,完全背包 343 Integer Break Medium Dynamic Programming 一题多解 344 Reverse String Easy 347 Top K Frequent Elements Medium Heap/Bucket Sort 一题多解 349 Intersection of Two Arrays Easy 354 Russian Doll Envelopes Hard 376 Wiggle Subsequence Medium Greedy/Dynamic Programming TODO 一题多解 392 Is Subsequence Easy Dynamic Programming/Two Pointers 一题多解 404 Sum of Left Leaves Easy Binary Tree 416 Partition Equal Subset Sum Medium Dynamic Programming,01背包 455 Assign Cookies Easy Greedy 474 Ones and Zeroes Medium Dynamic Programming,01背包 TODO 二维解法 494 Target Sum Medium Dynamic Programming TODO 一般解 501 Find Mode in Binary Search Tree Easy Binary Tree 513 Find Bottom Left Tree Value Medium Binary Tree 516 Longest Palindromic Subsequence Dynamic Programming 518 Coin Change 2 Medium Dynamic Programming,完全背包 530 Minimum Absolute Difference in BST Easy Binary Tree 541 Reverse String II Easy Two Pointers TODO 583 Delete Operation for Two Strings Medium Dynamic Programming TODO 一题多解 617 Merge Two Binary Trees Easy Binary Tree 637 Average of Levels in Binary Tree Easy Binary Tree 647 Palindromic Substrings Medium Dynamic Programming/Two Pointers 一题多解 654 Maximum Binary Tree Medium Binary Tree 674 Longest Continuous Increasing Subsequence Easy Dynamic Programming 一题多解,对比第300题 700 Search in a Binary Search Tree Easy Binary Search 704 Binary Search Easy 718 Maximum Length of Repeated Subarray Medium Dynamic Programming TODO 滚动数组写法 977 Squares of a Sorted Array Easy Two Pointers TODO 1035 Uncrossed Lines Medium Dynamic Programming 同第1143题 1143 Longest Common Subsequence Medium Dynamic Programming 待优化