LeetCode
Leetcode solution in Python with classification
Install / Use
/learn @zengtian006/LeetCodeREADME
Array
| # | Title | Time | Space | Remark | | ---- | ----- | ---- | ----- | -------- | |Leetcode 27| Remove Element | O(n)| O(1) | Two Pointer | |Leetcode 26| Remove Duplicates from Sorted Array | O(n)| O(1) | Two Pointer | |Leetcode 80| Remove Duplicates from Sorted Array II | O(n)| O(1) | Two Pointer | |Leetcode 277| Find the Celebrity | O(n)| O(1) | | |Leetcode 189| Rotate Array| O(n)| O(1) | | |Leetcode 41| First Missing Positive | O(n| O(1) | Bucket Sort | |Leetcode 299| Bulls and Cows | O(n)| O(n) | | |Leetcode 134| Gas Station | O(n)| O(1) | | |Leetcode 274| H-Index | O(n)| O(n) | | |Leetcode 275| H-Index II | O(logn)| O(1) | Binary Search | |Leetcode 244| Shortest Word Distance II | O(n^2)| O(n) | Hashmap | |Leetcode 245| Shortest Word Distance III | O(n^2)| O(n) | | | Leetcode 217 | Contains Duplicate| O(n)| O(n) | | | Leetcode 219 | Contains Duplicate II | O(n)| O(n) | | | Leetcode 220 | Contains Duplicate III| O(n^2| O(1) | | | Leetcode 55 | Jump Game| O(n)| O(1) | Greedy | | Leetcode 45 | Jump Game II| O(n)| O(1) | Greedy | | Leetcode 403 | Frog Jump | O(n)| O(n) | DFS | | Leetcode 121 | Best Time to Buy and Sell Stock| O(n)| O(1) | | | Leetcode 122 | Best Time to Buy and Sell Stock II| O(n)| O(1) | | | Leetcode 123 | Best Time to Buy and Sell Stock III| O(n)| O(n) | | | Leetcode 188 | Best Time to Buy and Sell Stock IV| O(n*k)| O(n*k) | DP | | Leetcode 309 | Best Time to Buy and Sell Stock with Cooldown | O(n)| O(n) | DP | | Leetcode 11 | Container With Most Water| O(n)| O(1) | Two Pointer | | Leetcode 42 | Trapping Rain Water| O(n)| O(1) | Two Pointer | | Leetcode 334 | Increasing Triplet Subsequence| O(n)| O(1) | | | Leetcode 128 | Longest Consecutive Sequence| O(n)| O(n) | | | Leetcode 287 | Find the Duplicate Number| O(nlogn)| O(1) | Binary Search | | Leetcode 289 | Game of Life | O(m*n)| O(1) | | | Leetcode 57 | Insert Interval | O(n)| O(1) | | | Leetcode 56 | Merge Intervals | O(nlogn)| O(1) | | | Leetcode 986 | Interval List Intersections | O(m+n)| O(1) | | | Leetcode 252| Meeting Rooms | O(nlogn)| O(1) | | | Leetcode 253| Meeting Rooms II | O(nlogn)| O(n) | | | Leetcode 352| Data Stream as Disjoint Intervals | O(n)| O(1) | | | Leetcode 239| Sliding Window Maximum | O(n)| O(n) | | | Leetcode 295| Find Median from Data Stream | O(nlogn)| O(n) | | | Leetcode 1093| Statistics from a Large Sample | O(1)| O(1) | 295 follow up | | Leetcode 53| Maximum Subarray | O(n)| O(n) | | | Leetcode 325| Maximum Size Subarray Sum Equals k | O(n)| O(n) | | | Leetcode 209| Minimum Size Subarray Sum | O(n)| O(1) | Two Pointer | | Leetcode 238| Product of Array Except Self | O(n)| O(n) | | | Leetcode 152| Maximum Product Subarray | O(n)| O(1) | | | Leetcode 228| Summary Ranges | O(n)| O(1) | | | Leetcode 163| Missing Ranges | O(n)| O(1) | | | Leetcode 88| Merge Sorted Array | O(n)| O(1) | Two Pointer | | Leetcode 75| Sort Colors | O(n)| O(1) | Two Pointer | | Leetcode 283| Move Zeroes | O(n)| O(1) | Two Pointer | | Leetcode 376| Wiggle Subsequence | O(n)| O(1) | | | Leetcode 280| Wiggle Sort | O(n)| O(1) | | | Leetcode 324| Wiggle Sort II | O(n)| O(n) | | | Leetcode 560| Subarray Sum Equals K | O(n)| O(n) | | | Leetcode 4 | Median of Two Sorted Arrays | py| O(m+n) | | | Leetcode 1239 | Maximum Length of a Concatenated String with Unique Characters | O(2^n)| O(n) | | | Leetcode 135 | Candy | O(n)| O(n) | | | Leetcode 581 | Shortest Unsorted Continuous Subarray | O(n)| O(n) | | | Leetcode 503 | Next Greater Element II | O(n)| O(n) | | | Leetcode 496 | Next Greater Element I | O(n)| O(n) | | | Leetcode 525 | Contiguous Array | O(n)| O(n) | | | Leetcode 977 | Squares of a Sorted Array | O(n)| O(n) | |
String
| # | Title | Time | Space | Remark | | ----- | ----- | ---- | ----- | -------- | | Leetcode 28| Implement strStr()| O((n-l)*l)| O(1) | | | Leetcode 186| Reverse Words in a String II | O(n)| O(1) | | | Leetcode 205| Isomorphic Strings | O(n)| O(n) | HashMap | | Leetcode 293| Flip Game | O(n)| O(1) | | | Leetcode 294| Flip Game II | O(n!)| O(n!) | BackTracking | | Leetcode 290| Word Pattern | O(n)| O(n) | HashMap | | Leetcode 242| Valid Anagram | O(nlogn)| O(1) | | | Leetcode 49| Group Anagrams | O(n)| O(n) | | | Leetcode 249| Group Shifted Strings | O(n)| O(n) | | | Leetcode 161| One Edit Distance | O(n)| O(1) | | | Leetcode 38| Count and Say | O(2^n)| O(1) | | | Leetcode 316| Remove Duplicate Letters | O(n)| O(1) | | | Leetcode 271| Encode and Decode Strings | O(n)| O(1) | | | Leetcode 168| Excel Sheet Column Title | O(n)| O(1) | | | Leetcode 171| Excel Sheet Column Number | O(n)| O(1) | | | Leetcode 13| Roman to Integer | O(1)| O(1) | | | Leetcode 12| Integer to Roman | O(n)| O(1) | | | Leetcode 273| Integer to English Words | O(n)| O(1) | | | Leetcode 157| Read N Characters Given Read4 | O(n)| O(1) | | | Leetcode 158| Read N Characters Given Read4 II - Call multiple times | O(n)| O(n) | | | Leetcode 68| Text Justification | O(n)| O(n/kπ) | | | Leetcode 76| Minimum Window Substring | O(n)| O(n) | Sliding Window | | Leetcode 3| Longest Substring Without Repeating Characters | O(n)| O(m) | Sliding Window | | Leetcode 340| Longest Substring with At Most K Distinct Characters | O(n)| O(k) | Sliding Window | | Leetcode 125| Valid Palindrome | O(n)| O(1) | Two Pointer | | Leetcode 680 | Valid Palindrome II | O(n)| O(n) | Two Pointer | | Leetcode 5| Longest Palindromic Substring | O(n^2)| O(n^2) | DP | | Leetcode 516 | Longest Palindromic Subsequence | O(n^2)| O(n^2) | DP | | Leetcode 214| Shortest Palindrome | O(n)| O(n) | | | Leetcode 336| Palindrome Pairs | O(nk^2)| O(n) | | | Leetcode 1246 | Palindrome Removal | O(n^3)| O(n^2) | | | Leetcode 20| Valid Parentheses | O(n)| O(n) | | | Leetcode 1249 | Minimum Remove to Make Valid Parentheses | O(n)| O(n) | | | Leetcode 22| Generate Parentheses | O(4^n)?| O(n)? | BackTracking | | Leetcode 32| Longest Valid Parentheses | O(n)| O(n) | DP | | Leetcode 241| Different Ways to Add Parentheses | ?| ? | Divide&Conquer | | Leetcode 301| Remove Invalid Parentheses | O(n*2^n)| O(2^n) | BFS | | Leetcode 678| Valid Parenthesis String | O(3^n)| O(n) | BFS | | Leetcode 115| Distinct Subsequences | O(mn)| O(mn) | BackTracking | | Leetcode 844| Backspace String Compare | O(m+n)| O(1) | Two Pointer | | Leetcode 763| Partition Labels | O(n)| O(n) | | | Leetcode 616| Add Bold Tag in String | ?| O(n) | | | Leetcode 97 | Interleaving String | O(mn)| O(mn) | | | Leetcode 767 | Reorganize String | O(nlogn)| O(n) | | | Leetcode 438 | Find All Anagrams in a String | O(n)| O(n) | | | Leetcode 1156 | Swap For Longest Repeated Character Substring | O(n)| O(n) | |
Math
| # | Title | Time | Space | Remark | | ---- | ----- | ---- | ----- | -------- | | Leetcode 7 | Reverse Integer | O(n) | O(1) | | | Leetcode 66 | Plus One | O(n) | O(1) | | | Leetcode 8 | String to Integer (atoi) | O(n)| O(1) | | | Leetcode 67 | Add Binary | O(n) | O(1) | | | Leetcode 445 | Add Two Numbers II | O(n) | O(n) | | | Leetcode 43 | Multiply Strings | O(m*n)| O(m+n) | | | Leetcode 29 | Divide Two Integers | O(n) | O(1) | | | Leetcode 69 | Sqrt(x) | O(logn) | O(1) | Binary Search | | Leetcode 50 | Pow(x, n) | O(logn) | O(1) or O(logn) | | | Leetcode 367 | Valid Perfect Square | O(logn) | O(1) | Binary Search | | Leetcode 204 | Count Primes | O(nloglogn)| O(n) | | | Leetcode 1 | Two Sum | O(n) | O(n) | | | Leetcode 15 | 3Sum | O(n^2) | O(logn)~O(n) | | | Leetcode 18 | 4Sum | O(n^3) | O(logn)~O(n) | | | Leetcode 231 | Power of Two | O(logn) | O(1) | | | Leetcode 202 | Happy Number | O(logn) | O(logn) | | | Leetcode 263 | Ugly Number | O(logn) | O(1) | | | Leetcode 264 | Ugly Number II | O(n) | O(n) | | | Leetcode 223 | Rectangle Area | O(1) | O(1) | | | Leetcode 670 | Maximum Swap | O(n) | O(n) | |
Tree
| # | Title | Time | Space | Remark | | ---- | ----- | ---- | ----- | -------- | | Leetcode 100 | Same Tree | O(n)| O(logn)~O(n) | | | Leetcode 101 | Symmetric Tree | O(n)| O(n) | | | Leetcode 226 | Invert Binary Tree | O(n)| O(n) | | | Leetcode 257 | Binary Tree Paths | O(n)| O(n) | | | Leetcode 112 | Path Sum | O(n)| O(n) | | | Leetcode 113 | Path Sum II | O(n)| O(n) | | | Leetcode 298 | Binary Tree Longest Consecutive Sequence | O(n)| O(n) | | | Leetcode 111 | Minimum Depth of Binary Tree | O(n^2)| O(n) | | | Leetcode 104 | Maximum Depth of Binary Tree | O(n)| O(n) | | | Leetcode 110 | Balanced Binary Tree | O(nlogn)| O(n) | | | Leetcode 124 | Binary Tree Maximum Path Sum | O(n)| O(logn) | 543 | | Leetcode 337 | House Robber III | O(n)| O(n) | | |
