Skip to content

lujiazho/LeetCode-Record

Repository files navigation

LeetCode-Record

A record for coding practice on leetcode. Notation '*' means appearing the second time.

Ⅰ Basic Algorithm

leetcode题目 Python代码 C++代码 难度
(iteratively+recursively)206. Reverse Linked List reverse-linked-list reverse-linked-list Easy
(suffix sum)848. Shifting Letters shifting-letters Medium
(iteratively+recursively)1137. N-th Tribonacci Number n-th-tribonacci-number n-th-tribonacci-number Easy
(preorder traversal)543. Diameter of Binary Tree diameter-of-binary-tree Easy
(binary search)374. Guess Number Higher or Lower guess-number-higher-or-lower guess-number-higher-or-lower Easy
(binary search)1008. Construct Binary Search Tree from Preorder Traversal construct-binary-search-tree-from-preorder-traversal Medium
(binary search)993. Cousins in Binary Tree cousins-in-binary-tree Easy
(complete binary search)222. Count Complete Tree Nodes count-complete-tree-nodes count-complete-tree-nodes Medium
(traversal)404. Sum of Left Leaves sum-of-left-leaves Easy
(binary search)441. Arranging Coins arranging-coins Easy
(bitmask)1286. Iterator for Combination iterator-for-combination Medium
(In-place modification)448. Find All Numbers Disappeared in an Array find-all-numbers-disappeared-in-an-array Easy
(binary search)106. Construct Binary Tree from Inorder and Postorder Traversal construct-binary-tree-from-inorder-and-postorder-traversal construct-binary-tree-from-inorder-and-postorder-traversal Medium
(binary search tree)450. Delete Node in a BST delete-node-in-a-bst Medium
(binary search)35. Search Insert Position search-insert-position search-insert-position Easy
(pre&suf product)238. Product of Array Except Self product-of-array-except-self Medium
(quick sort)148. Sort List sort-list sort-list Medium
(lowbit)231. Power of Two power-of-two Easy
(prefix sum)1094. Car Pooling car-pooling Medium
(binary search tree)701. Insert into a Binary Search Tree insert-into-a-binary-search-tree Medium
(binary search)875. Koko Eating Bananas koko-eating-bananas Medium
(binary search)704. Binary Search binary-search Easy
(binary search)81. Search in Rotated Sorted Array II search-in-rotated-sorted-array-ii Medium
(2-D binary search)74. Search a 2D Matrix search-a-2d-matrix Medium
(binary search tree)669. Trim a Binary Search Tree trim-a-binary-search-tree Medium
(sorting)581. Shortest Unsorted Continuous Subarray shortest-unsorted-continuous-subarray Medium
215. Kth Largest Element in an Array kth-largest-element-in-an-array Medium
665. Non-decreasing Array non-decreasing-array Medium
1423. Maximum Points You Can Obtain from Cards maximum-points-you-can-obtain-from-cards Medium
(sort)1710. Maximum Units on a Truck maximum-units-on-a-truck Easy
(sort)1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts Medium
376. Wiggle Subsequence wiggle-subsequence Medium
(merge sort)315. Count of Smaller Numbers After Self count-of-smaller-numbers-after-self Hard
(binary search)34. Find First and Last Position of Element in Sorted Array find-first-and-last-position-of-element-in-sorted-array Medium
(sort)451. Sort Characters By Frequency sort-characters-by-frequency sort-characters-by-frequency Medium
(sort)953. Verifying an Alien Dictionary verifying-an-alien-dictionary Easy
(binary search)1011. Capacity To Ship Packages Within D Days capacity-to-ship-packages-within-d-days Medium
(sort)912. Sort an Array sort-an-array Medium
(binary search)2187. Minimum Time to Complete Trips minimum-time-to-complete-trips Medium

1 one Pointer

leetcode题目 Python代码 C++代码 难度
978. Longest Turbulent Subarray longest-turbulent-subarray Medium
55. Jump Game jump-game jump-game Medium
(segment tree)53. Maximum Subarray maximum-subarray maximum-subarray Easy
645. Set Mismatch set-mismatch Easy

2 Two Pointers

leetcode题目 Python代码 C++代码 难度
917. Reverse Only Letters reverse-only-letters Easy
922. Sort Array By Parity II sort-array-by-parity-ii Easy
75. Sort Colors sort-colors Medium
(more than 2)328. Odd Even Linked List odd-even-linked-list odd-even-linked-list Medium
876. Middle of the Linked List middle-of-the-linked-list middle-of-the-linked-list Easy
*3. Longest Substring Without Repeating Characters longest-substring-without-repeating-characters Medium
24. Swap Nodes in Pairs swap-nodes-in-pairs Medium
413. Arithmetic Slices arithmetic-slices Medium
(merge sort)21. Merge Two Sorted Lists merge-two-sorted-lists Easy
(fast&slow)141. Linked List Cycle linked-list-cycle Easy
946. Validate Stack Sequences validate-stack-sequences Medium
1721. Swapping Nodes in a Linked List swapping-nodes-in-a-linked-list Medium
11. Container With Most Water container-with-most-water Medium
923. 3Sum With Multiplicity 3sum-with-multiplicity Medium
160. Intersection of Two Linked Lists intersection-of-two-linked-lists Easy
88. Merge Sorted Array merge-sorted-array Easy
1332. Remove Palindromic Subsequences remove-palindromic-subsequences Easy
167. Two Sum II - Input Array Is Sorted two-sum-ii-input-array-is-sorted Medium
1658. Minimum Operations to Reduce X to Zero minimum-operations-to-reduce-x-to-zero Medium
92. Reverse Linked List II reverse-linked-list-ii Medium
19. Remove Nth Node From End of List remove-nth-node-from-end-of-list Medium
(more than 2)16. 3Sum Closest 3sum-closest Medium
2095. Delete the Middle Node of a Linked List delete-the-middle-node-of-a-linked-list Medium
76. Minimum Window Substring minimum-window-substring Hard
151. Reverse Words in a String reverse-words-in-a-string reverse-words-in-a-string Medium

3 Simulation(not from ACwing

leetcode题目 Python代码 C++代码 难度
54. Spiral Matrix spiral-matrix Medium
1275. Find Winner on a Tic Tac Toe Game find-winner-on-a-tic-tac-toe-game Easy
1041. Robot Bounded In Circle robot-bounded-in-circle Medium
59. Spiral Matrix II spiral-matrix-ii Medium
622. Design Circular Queue design-circular-queue Medium

4 Binary Search(Not that simple)

leetcode题目 Python代码 C++代码 难度
154. Find Minimum in Rotated Sorted Array II find-minimum-in-rotated-sorted-array-ii Hard
668. Kth Smallest Number in Multiplication Table kth-smallest-number-in-multiplication-table Hard
540. Single Element in a Sorted Array single-element-in-a-sorted-array single-element-in-a-sorted-array Medium
(binary search+matrix prefix sum)221. Maximal Square maximal-square Medium
410. Split Array Largest Sum split-array-largest-sum Hard
354. Russian Doll Envelopes russian-doll-envelopes Hard
1235. Maximum Profit in Job Scheduling maximum-profit-in-job-scheduling Hard
1539. Kth Missing Positive Number kth-missing-positive-number Easy

5 High Precision

leetcode题目 Python代码 C++代码 难度
43. Multiply Strings multiply-strings Medium

6 Bit Operation

leetcode题目 Python代码 C++代码 难度
461. Hamming Distance hamming-distance Easy
67. Add Binary add-binary Easy
136. Single Number single-number Easy
338. Counting Bits counting-bits Easy
318. Maximum Product of Word Lengths maximum-product-of-word-lengths Medium

7 Intervals Merge

leetcode题目 Python代码 C++代码 难度
986. Interval List Intersections interval-list-intersections Medium
56. Merge Intervals merge-intervals Medium
352. Data Stream as Disjoint Intervals data-stream-as-disjoint-intervals Medium

8 Prefix Sum

leetcode题目 Python代码 C++代码 难度
304. Range Sum Query 2D - Immutable range-sum-query-2d-immutable Medium
1695. Maximum Erasure Value maximum-erasure-value Medium
(kadane)363. Max Sum of Rectangle No Larger Than K max-sum-of-rectangle-no-larger-than-k Hard

Ⅱ Data Structure

1 Heap

leetcode题目 Python代码 C++代码 难度
1305. All Elements in Two Binary Search Trees all-elements-in-two-binary-search-trees Medium
23. Merge k Sorted Lists merge-k-sorted-lists Hard
1675. Minimize Deviation in Array minimize-deviation-in-array Hard
703. Kth Largest Element in a Stream kth-largest-element-in-a-stream Easy
(sort pairs)347. Top K Frequent Elements top-k-frequent-elements Medium
630. Course Schedule III course-schedule-iii Hard
1696. Jump Game VI jump-game-vi Medium
378. Kth Smallest Element in a Sorted Matrix kth-smallest-element-in-a-sorted-matrix Medium
1338. Reduce Array Size to The Half reduce-array-size-to-the-half Medium
1383. Maximum Performance of a Team maximum-performance-of-a-team Hard
295. Find Median from Data Stream find-median-from-data-stream Hard
1962. Remove Stones to Minimize the Total remove-stones-to-minimize-the-total Medium
1834. Single-Threaded CPU single-threaded-cpu Medium

2 Stack

leetcode题目 Python代码 C++代码 难度
(double stack)224. Basic Calculator basic-calculator basic-calculator Hard
155. Min Stack min-stack Easy
(Monotonic Stack)739. Daily Temperatures daily-temperatures daily-temperatures Medium
(monotonic stack)85. Maximal Rectangle maximal-rectangle Hard
(double Stack)394. Decode String decode-string Medium
(double Stack)227. Basic Calculator II basic-calculator-ii Medium
(monotonic stack)84. Largest Rectangle in Histogram largest-rectangle-in-histogram Hard
(Monotonic Stack)402. Remove K Digits remove-k-digits Medium
20. Valid Parentheses valid-parentheses Easy
1249. Minimum Remove to Make Valid Parentheses minimum-remove-to-make-valid-parentheses Medium
856. Score of Parentheses score-of-parentheses Medium
316. Remove Duplicate Letters remove-duplicate-letters Medium
1209. Remove All Adjacent Duplicates in String II remove-all-adjacent-duplicates-in-string-ii Medium
456. 132 Pattern 132-pattern Medium
32. Longest Valid Parentheses longest-valid-parentheses Hard
(mono)901. Online Stock Span online-stock-span Medium
1047. Remove All Adjacent Duplicates In String remove-all-adjacent-duplicates-in-string Easy
(mono)907. Sum of Subarray Minimums sum-of-subarray-minimums Medium
232. Implement Queue using Stacks implement-queue-using-stacks Easy
150. Evaluate Reverse Polish Notation evaluate-reverse-polish-notation Medium

3 Heap Optimization

|502. IPO||ipo|Hard

4 Hash Table

leetcode题目 Python代码 C++代码 难度
1189. Maximum Number of Balloons maximum-number-of-balloons Easy
350. Intersection of Two Arrays II intersection-of-two-arrays-ii Easy
442. Find All Duplicates in an Array find-all-duplicates-in-an-array Medium
(binary_search+hash)1044. Longest Duplicate Substring longest-duplicate-substring Hard
973. K Closest Points to Origin k-closest-points-to-origin Medium
1010. Pairs of Songs With Total Durations Divisible by 60 pairs-of-songs-with-total-durations-divisible-by-60 Medium
290. Word Pattern word-pattern Easy
142. Linked List Cycle II linked-list-cycle-ii Medium
454. 4Sum II 4sum-ii Medium
525. Contiguous Array contiguous-array Medium
389. Find the Difference find-the-difference Easy
532. K-diff Pairs in an Array k-diff-pairs-in-an-array Medium
560. Subarray Sum Equals K subarray-sum-equals-k Medium
567. Permutation in String permutation-in-string Medium
1288. Remove Covered Intervals remove-covered-intervals Medium
169. Majority Element majority-element Easy
895. Maximum Frequency Stack maximum-frequency-stack Hard
(open addressing)705. Design HashSet design-hashset Easy
(open addressing)706. Design HashMap design-hashmap Easy
1396. Design Underground System design-underground-system Medium
1679. Max Number of K-Sum Pairs max-number-of-k-sum-pairs Medium
47. Permutations II permutations-ii Medium
745. Prefix and Suffix Search prefix-and-suffix-search Hard
1268. Search Suggestions System search-suggestions-system Medium
820. Short Encoding of Words short-encoding-of-words Medium
128. Longest Consecutive Sequence longest-consecutive-sequence Medium
1074. Number of Submatrices That Sum to Target number-of-submatrices-that-sum-to-target Hard
792. Number of Matching Subsequences number-of-matching-subsequences Medium
30. Substring with Concatenation of All Words substring-with-concatenation-of-all-words Hard
13. Roman to Integer roman-to-integer Easy
804. Unique Morse Code Words unique-morse-code-words Easy
659. Split Array into Consecutive Subsequences split-array-into-consecutive-subsequences Medium
336. Palindrome Pairs palindrome-pairs Hard
(split-string)609. Find Duplicate File in System find-duplicate-file-in-system Medium
218. The Skyline Problem the-skyline-problem Hard
981. Time Based Key-Value Store time-based-key-value-store Medium
(ordered map for presum)732. My Calendar III my-calendar-iii Hard
1832. Check if the Sentence Is Pangram check-if-the-sentence-is-pangram Easy
692. Top K Frequent Words top-k-frequent-words Medium
49. Group Anagrams group-anagrams Medium
2131. Longest Palindrome by Concatenating Two Letter Words longest-palindrome-by-concatenating-two-letter-words Medium
2225. Find Players With Zero or One Losses find-players-with-zero-or-one-losses Medium
1207. Unique Number of Occurrences unique-number-of-occurrences Easy
472. Concatenated Words concatenated-words Hard
460. LFU Cache lfu-cache Hard
904. Fruit Into Baskets fruit-into-baskets Medium
2306. Naming a Company naming-a-company Hard
2405. Optimal Partition of String optimal-partition-of-string Medium

5 Trie

leetcode题目 Python代码 C++代码 难度
208. Implement Trie (Prefix Tree) implement-trie-prefix-tree implement-trie-prefix-tree Medium
212. Word Search II word-search-ii word-search-ii Hard
1178. Number of Valid Words for Each Puzzle number-of-valid-words-for-each-puzzle Hard
1032. Stream of Characters stream-of-characters Hard
(trie of c++ version)211. Design Add and Search Words Data Structure design-add-and-search-words-data-structure Medium

6 Disjoint Set Union

leetcode题目 Python代码 C++代码 难度
952. Largest Component Size by Common Factor largest-component-size-by-common-factor Hard
(DSUorDFS)200. Number of Islands number-of-islands number-of-islands Medium
721. Accounts Merge accounts-merge Medium
1202. Smallest String With Swaps smallest-string-with-swaps Medium
990. Satisfiability of Equality Equations satisfiability-of-equality-equations Medium
1971. Find if Path Exists in Graph find-if-path-exists-in-graph Medium
1061. Lexicographically Smallest Equivalent String lexicographically-smallest-equivalent-string Medium
2421. Number of Good Paths number-of-good-paths Hard

Ⅲ Search and Graph theory

1 DFS

leetcode题目 Python代码 C++代码 难度
282. Expression Add Operators expression-add-operators Hard
(DFSorDP)1239. Maximum Length of a Concatenated String with Unique Characters maximum-length-of-a-concatenated-string-with-unique-characters maximum-length-of-a-concatenated-string-with-unique-characters Medium
698. Partition to K Equal Sum Subsets partition-to-k-equal-sum-subsets Medium
79. Word Search word-search word-search Medium
994. Rotting Oranges rotting-oranges Medium
430. Flatten a Multilevel Doubly Linked List flatten-a-multilevel-doubly-linked-list Medium
130. Surrounded Regions surrounded-regions Medium
980. Unique Paths III unique-paths-iii unique-paths-iii Hard
129. Sum Root to Leaf Numbers sum-root-to-leaf-numbers sum-root-to-leaf-numbers Medium
797. All Paths From Source to Target all-paths-from-source-to-target all-paths-from-source-to-target Medium
(extreme small dfs)337. House Robber III house-robber-iii Medium
563. Binary Tree Tilt binary-tree-tilt Easy
1306. Jump Game III jump-game-iii Medium
(DPorDFS+memorization)416. Partition Equal Subset Sum partition-equal-subset-sum Medium
938. Range Sum of BST range-sum-of-bst range-sum-of-bst Easy
1026. Maximum Difference Between Node and Ancestor maximum-difference-between-node-and-ancestor maximum-difference-between-node-and-ancestor Medium
131. Palindrome Partitioning palindrome-partitioning Medium
1463. Cherry Pickup II cherry-pickup-ii Hard
1022. Sum of Root To Leaf Binary Numbers sum-of-root-to-leaf-binary-numbers Easy
1510. Stone Game IV stone-game-iv Hard
78. Subsets subsets Medium
104. Maximum Depth of Binary Tree maximum-depth-of-binary-tree Easy
39. Combination Sum combination-sum Medium
133. Clone Graph clone-graph Medium
538. Convert BST to Greater Tree convert-bst-to-greater-tree Medium
897. Increasing Order Search Tree increasing-order-search-tree Easy
230. Kth Smallest Element in a BST kth-smallest-element-in-a-bst Medium
(inorder)99. Recover Binary Search Tree recover-binary-search-tree Medium
(inorder)173. Binary Search Tree Iterator binary-search-tree-iterator Medium
341. Flatten Nested List Iterator flatten-nested-list-iterator Medium
216. Combination Sum III combination-sum-iii Medium
1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree Medium
329. Longest Increasing Path in a Matrix longest-increasing-path-in-a-matrix Hard
51. N-Queens n-queens Hard
52. N-Queens II n-queens-ii Hard
968. Binary Tree Cameras binary-tree-cameras Hard
509. Fibonacci Number fibonacci-number Easy
473. Matchsticks to Square matchsticks-to-square Medium
105. Construct Binary Tree from Preorder and Inorder Traversal construct-binary-tree-from-preorder-and-inorder-traversal Medium
695. Max Area of Island max-area-of-island Medium
240. Search a 2D Matrix II search-a-2d-matrix-ii Medium
236. Lowest Common Ancestor of a Binary Tree lowest-common-ancestor-of-a-binary-tree Medium
114. Flatten Binary Tree to Linked List flatten-binary-tree-to-linked-list Medium
108. Convert Sorted Array to Binary Search Tree convert-sorted-array-to-binary-search-tree Easy
98. Validate Binary Search Tree validate-binary-search-tree Medium
235. Lowest Common Ancestor of a Binary Search Tree lowest-common-ancestor-of-a-binary-search-tree Easy
417. Pacific Atlantic Water Flow pacific-atlantic-water-flow Medium
1448. Count Good Nodes in Binary Tree count-good-nodes-in-binary-tree Medium
967. Numbers With Same Consecutive Differences numbers-with-same-consecutive-differences Medium
987. Vertical Order Traversal of a Binary Tree vertical-order-traversal-of-a-binary-tree Hard
814. Binary Tree Pruning binary-tree-pruning Medium
606. Construct String from Binary Tree construct-string-from-binary-tree Easy
94. Binary Tree Inorder Traversal binary-tree-inorder-traversal Easy
113. Path Sum II path-sum-ii Medium
112. Path Sum path-sum Easy
623. Add One Row to Tree add-one-row-to-tree Medium
653. Two Sum IV - Input is a BST two-sum-iv-input-is-a-bst Easy
38. Count and Say count-and-say Medium
1706. Where Will the Ball Fall where-will-the-ball-fall Medium
947. Most Stones Removed with Same Row or Column most-stones-removed-with-same-row-or-column Medium
872. Leaf-Similar Trees leaf-similar-trees Easy
1339. Maximum Product of Splitted Binary Tree maximum-product-of-splitted-binary-tree Medium
124. Binary Tree Maximum Path Sum binary-tree-maximum-path-sum Hard
834. Sum of Distances in Tree sum-of-distances-in-tree Hard
144. Binary Tree Preorder Traversal binary-tree-preorder-traversal Easy
100. Same Tree same-tree Easy
1443. Minimum Time to Collect All Apples in a Tree minimum-time-to-collect-all-apples-in-a-tree Medium
1519. Number of Nodes in the Sub-Tree With the Same Label number-of-nodes-in-the-sub-tree-with-the-same-label Medium
2246. Longest Path With Different Adjacent Characters longest-path-with-different-adjacent-characters Hard
491. Non-decreasing Subsequences non-decreasing-subsequences Medium
93. Restore IP Addresses restore-ip-addresses Medium
2359. Find Closest Node to Given Two Nodes find-closest-node-to-given-two-nodes Medium
2477. Minimum Fuel Cost to Report to the Capital minimum-fuel-cost-to-report-to-the-capital Medium
783. Minimum Distance Between BST Nodes minimum-distance-between-bst-nodes Easy
427. Construct Quad Tree construct-quad-tree Medium
652. Find Duplicate Subtrees find-duplicate-subtrees Medium
109. Convert Sorted List to Binary Search Tree convert-sorted-list-to-binary-search-tree Medium
101. Symmetric Tree symmetric-tree Easy
1319. Number of Operations to Make Network Connected number-of-operations-to-make-network-connected Medium
2316. Count Unreachable Pairs of Nodes in an Undirected Graph count-unreachable-pairs-of-nodes-in-an-undirected-graph Medium
87. Scramble String scramble-string Hard
1254. Number of Closed Islands number-of-closed-islands Medium
1020. Number of Enclaves number-of-enclaves Medium

2 BFS

leetcode题目 Python代码 C++代码 难度
1293. Shortest Path in a Grid with Obstacles Elimination shortest-path-in-a-grid-with-obstacles-elimination shortest-path-in-a-grid-with-obstacles-elimination Hard
310. Minimum Height Trees minimum-height-trees Medium
116. Populating Next Right Pointers in Each Node populating-next-right-pointers-in-each-node Medium
1345. Jump Game IV jump-game-iv Hard
127. Word Ladder word-ladder Hard
847. Shortest Path Visiting All Nodes shortest-path-visiting-all-nodes Hard
662. Maximum Width of Binary Tree maximum-width-of-binary-tree Medium
1631. Path With Minimum Effort path-with-minimum-effort Medium
117. Populating Next Right Pointers in Each Node II populating-next-right-pointers-in-each-node-ii Medium
1302. Deepest Leaves Sum deepest-leaves-sum Medium
1091. Shortest Path in Binary Matrix shortest-path-in-binary-matrix Medium
199. Binary Tree Right Side View binary-tree-right-side-view Medium
102. Binary Tree Level Order Traversal binary-tree-level-order-traversal Medium
126. Word Ladder II word-ladder-ii Hard
637. Average of Levels in Binary Tree average-of-levels-in-binary-tree Easy
429. N-ary Tree Level Order Traversal n-ary-tree-level-order-traversal Medium
433. Minimum Genetic Mutation minimum-genetic-mutation Medium
1926. Nearest Exit from Entrance in Maze nearest-exit-from-entrance-in-maze Medium
909. Snakes and Ladders snakes-and-ladders Medium
787. Cheapest Flights Within K Stops cheapest-flights-within-k-stops Medium
1162. As Far from Land as Possible as-far-from-land-as-possible Medium
1129. Shortest Path with Alternating Colors shortest-path-with-alternating-colors Medium
103. Binary Tree Zigzag Level Order Traversal binary-tree-zigzag-level-order-traversal Medium
2492. Minimum Score of a Path Between Two Cities minimum-score-of-a-path-between-two-cities Medium

3 Topological Sorting

leetcode题目 Python代码 C++代码 难度
210. Course Schedule II course-schedule-ii Medium

4 Shortest Path

leetcode题目 Python代码 C++代码 难度
(Dijkstra or any other)882. Reachable Nodes In Subdivided Graph reachable-nodes-in-subdivided-graph Hard
(Dijkstra)743. Network Delay Time network-delay-time Medium

5 Minimum Spanning Tree

leetcode题目 Python代码 C++代码 难度
1584. Min Cost to Connect All Points min-cost-to-connect-all-points Medium

6 Bipartite Graph

leetcode题目 Python代码 C++代码 难度
785. Is Graph Bipartite? is-graph-bipartite Medium
886. Possible Bipartition possible-bipartition Medium

Ⅳ Mathematics

Ⅴ Dynamic Programming

1 Linear DP

leetcode题目 Python代码 C++代码 难度
(like preprocessing)764. Largest Plus Sign largest-plus-sign Medium
1143. Longest Common Subsequence longest-common-subsequence longest-common-subsequence Medium
(DFSorDP)174. Dungeon Game dungeon-game Hard
(DFSorDP)70. Climbing Stairs climbing-stairs climbing-stairs Easy
123. Best Time to Buy and Sell Stock III best-time-to-buy-and-sell-stock-iii Hard
96. Unique Binary Search Trees unique-binary-search-trees Medium
122. Best Time to Buy and Sell Stock II best-time-to-buy-and-sell-stock-ii Medium
198. House Robber house-robber house-robber Medium
152. Maximum Product Subarray maximum-product-subarray Medium
(hard)790. Domino and Tromino Tiling domino-and-tromino-tiling domino-and-tromino-tiling Medium
121. Best Time to Buy and Sell Stock best-time-to-buy-and-sell-stock Easy
799. Champagne Tower champagne-tower Medium
(0/1-knapsack)740. Delete and Earn delete-and-earn Medium
63. Unique Paths II unique-paths-ii Easy
322. Coin Change coin-change Medium
474. Ones and Zeroes ones-and-zeroes Medium
120. Triangle triangle Medium
583. Delete Operation for Two Strings delete-operation-for-two-strings Medium
1048. Longest String Chain longest-string-chain Medium
97. Interleaving String interleaving-string Medium
746. Min Cost Climbing Stairs min-cost-climbing-stairs Easy
629. K Inverse Pairs Array k-inverse-pairs-array Hard
377. Combination Sum IV combination-sum-iv Medium
1220. Count Vowels Permutation count-vowels-permutation Hard
300. Longest Increasing Subsequence longest-increasing-subsequence Medium
823. Binary Trees With Factors binary-trees-with-factors Medium
871. Minimum Number of Refueling Stops minimum-number-of-refueling-stops Hard
188. Best Time to Buy and Sell Stock IV best-time-to-buy-and-sell-stock-iv Hard
91. Decode Ways decode-ways Medium
1155. Number of Dice Rolls With Target Sum number-of-dice-rolls-with-target-sum Medium
931. Minimum Falling Path Sum minimum-falling-path-sum Medium
926. Flip String to Monotone Increasing flip-string-to-monotone-increasing Medium
1626. Best Team With No Conflicts best-team-with-no-conflicts Medium
45. Jump Game II jump-game-ii Medium
72. Edit Distance edit-distance Hard
983. Minimum Cost For Tickets minimum-cost-for-tickets Medium
2218. Maximum Value of K Coins From Piles maximum-value-of-k-coins-from-piles Hard

2 Interval DP

leetcode题目 Python代码 C++代码 难度
5. Longest Palindromic Substring longest-palindromic-substring Medium

3 Counting Problem DP

leetcode题目 Python代码 C++代码 难度
446. Arithmetic Slices II - Subsequence arithmetic-slices-ii-subsequence arithmetic-slices-ii-subsequence Hard
115. Distinct Subsequences distinct-subsequences Hard
279. Perfect Squares perfect-squares perfect-squares Medium
309. Best Time to Buy and Sell Stock with Cooldown best-time-to-buy-and-sell-stock-with-cooldown best-time-to-buy-and-sell-stock-with-cooldown Medium
368. Largest Divisible Subset largest-divisible-subset Medium
*62. Unique Paths unique-paths Medium

4 Digital Statistics DP(not precise probably

leetcode题目 Python代码 C++代码 难度
902. Numbers At Most N Given Digit Set numbers-at-most-n-given-digit-set Hard
1291. Sequential Digits sequential-digits Medium

5 State Compression DP

6 Memory Search

leetcode题目 Python代码 C++代码 难度
437. Path Sum III path-sum-iii Medium
312. Burst Balloons burst-balloons Hard
1359. Count All Valid Pickup and Delivery Options count-all-valid-pickup-and-delivery-options Hard
1473. Paint House III paint-house-iii Hard
576. Out of Boundary Paths out-of-boundary-paths Medium
1770. Maximum Score from Performing Multiplication Operations maximum-score-from-performing-multiplication-operations Medium
1335. Minimum Difficulty of a Job Schedule minimum-difficulty-of-a-job-schedule Hard

Ⅵ Greedy Algorithm

leetcode题目 Python代码 C++代码 难度
452. Minimum Number of Arrows to Burst Balloons minimum-number-of-arrows-to-burst-balloons Medium
881. Boats to Save People boats-to-save-people Medium
1029. Two City Scheduling two-city-scheduling Medium
1046. Last Stone Weight last-stone-weight Easy
1642. Furthest Building You Can Reach furthest-building-you-can-reach Medium
1647. Minimum Deletions to Make Character Frequencies Unique minimum-deletions-to-make-character-frequencies-unique Medium
406. Queue Reconstruction by Height queue-reconstruction-by-height Medium
135. Candy candy Hard
936. Stamping The Sequence stamping-the-sequence Hard
1996. The Number of Weak Characters in the Game the-number-of-weak-characters-in-the-game Medium
948. Bag of Tokens bag-of-tokens Medium
2007. Find Original Array From Doubled Array find-original-array-from-doubled-array Medium
2136. Earliest Possible Day of Full Bloom earliest-possible-day-of-full-bloom Hard

Ⅶ No Classification

leetcode题目 Python代码 C++代码 难度
485. Max Consecutive Ones max-consecutive-ones Easy
1328. Break a Palindrome break-a-palindrome break-a-palindrome Medium
929. Unique Email Addresses unique-email-addresses Easy
725. Split Linked List in Parts split-linked-list-in-parts Medium
496. Next Greater Element I next-greater-element-i Easy
380. Insert Delete GetRandom O(1) insert-delete-getrandom-o1 insert-delete-getrandom-o1 Medium
226. Invert Binary Tree invert-binary-tree invert-binary-tree Easy
15. 3Sum 3sum Medium
1413. Minimum Value to Get Positive Step by Step Sum minimum-value-to-get-positive-step-by-step-sum Easy
203. Remove Linked List Elements remove-linked-list-elements Easy
1217. Minimum Cost to Move Chips to The Same Position minimum-cost-to-move-chips-to-the-same-position Easy
1290. Convert Binary Number in a Linked List to Integer convert-binary-number-in-a-linked-list-to-integer Easy
1446. Consecutive Characters consecutive-characters Easy
147. Insertion Sort List insertion-sort-list Medium
1200. Minimum Absolute Difference minimum-absolute-difference Easy
143. Reorder List reorder-list Medium
476. Number Complement number-complement Easy
1009. Complement of Base 10 Integer complement-of-base-10-integer Easy
849. Maximize Distance to Closest Person maximize-distance-to-closest-person Medium
605. Can Place Flowers can-place-flowers Easy
134. Gas Station gas-station Medium
520. Detect Capital detect-capital Easy
941. Valid Mountain Array valid-mountain-array Easy
189. Rotate Array rotate-array Medium
1672. Richest Customer Wealth richest-customer-wealth Easy
438. Find All Anagrams in a String find-all-anagrams-in-a-string Medium
80. Remove Duplicates from Sorted Array II remove-duplicates-from-sorted-array-ii Medium
258. Add Digits add-digits Easy
171. Excel Sheet Column Number excel-sheet-column-number Easy
165. Compare Version Numbers compare-version-numbers Medium
228. Summary Ranges summary-ranges Easy
392. Is Subsequence is-subsequence Easy
82. Remove Duplicates from Sorted List II remove-duplicates-from-sorted-list-ii Medium
2. Add Two Numbers add-two-numbers Medium
61. Rotate List rotate-list Medium
138. Copy List with Random Pointer copy-list-with-random-pointer Medium
71. Simplify Path simplify-path Medium
1007. Minimum Domino Rotations For Equal Row minimum-domino-rotations-for-equal-row Medium
763. Partition Labels partition-labels Medium
1663. Smallest String With A Given Numeric Value smallest-string-with-a-given-numeric-value Medium
991. Broken Calculator broken-calculator Medium
1337. The K Weakest Rows in a Matrix the-k-weakest-rows-in-a-matrix Easy
287. Find the Duplicate Number find-the-duplicate-number Medium
344. Reverse String reverse-string Easy
680. Valid Palindrome II valid-palindrome-ii Easy
682. Baseball Game baseball-game Easy
1260. Shift 2D Grid shift-2d-grid Easy
289. Game of Life game-of-life Medium
700. Search in a Binary Search Tree search-in-a-binary-search-tree Easy
535. Encode and Decode TinyURL encode-and-decode-tinyurl Medium
284. Peeking Iterator peeking-iterator Medium
399. Evaluate Division evaluate-division Medium
844. Backspace String Compare backspace-string-compare Easy
905. Sort Array By Parity sort-array-by-parity Easy
225. Implement Stack using Queues implement-stack-using-queues Easy
17. Letter Combinations of a Phone Number letter-combinations-of-a-phone-number Medium
1641. Count Sorted Vowel Strings count-sorted-vowel-strings Medium
647. Palindromic Substrings palindromic-substrings Medium
191. Number of 1 Bits number-of-1-bits Easy
1342. Number of Steps to Reduce a Number to Zero number-of-steps-to-reduce-a-number-to-zero Easy
1461. Check If a String Contains All Binary Codes of Size K check-if-a-string-contains-all-binary-codes-of-size-k Medium
1480. Running Sum of 1d Array running-sum-of-1d-array Easy
1689. Partitioning Into Minimum Number Of Deci-Binary Numbers partitioning-into-minimum-number-of-deci-binary-numbers Medium
118. Pascal's Triangle pascals-triangle Easy
86. Partition List partition-list Medium
242. Valid Anagram valid-anagram Easy
890. Find and Replace Pattern find-and-replace-pattern Medium
916. Word Subsets word-subsets Medium
307. Range Sum Query - Mutable range-sum-query-mutable Medium
729. My Calendar I my-calendar-i Medium
387. First Unique Character in a String first-unique-character-in-a-string Easy
234. Palindrome Linked List palindrome-linked-list Easy
383. Ransom Note ransom-note Easy
869. Reordered Power of 2 reordered-power-of-2 Medium
1329. Sort the Matrix Diagonally sort-the-matrix-diagonally Medium
393. UTF-8 Validation utf-8-validation Medium
718. Maximum Length of Repeated Subarray maximum-length-of-repeated-subarray Medium
985. Sum of Even Numbers After Queries sum-of-even-numbers-after-queries Medium
557. Reverse Words in a String III reverse-words-in-a-string-iii Medium
838. Push Dominoes push-dominoes Medium
658. Find K Closest Elements find-k-closest-elements Medium
1578. Minimum Time to Make Rope Colorful minimum-time-to-make-rope-colorful Medium
334. Increasing Triplet Subsequence increasing-triplet-subsequence Medium
976. Largest Perimeter Triangle largest-perimeter-triangle Easy
237. Delete Node in a Linked List delete-node-in-a-linked-list Medium
219. Contains Duplicate II contains-duplicate-ii Easy
1662. Check If Two String Arrays are Equivalent check-if-two-string-arrays-are-equivalent Easy
766. Toeplitz Matrix toeplitz-matrix Easy
345. Reverse Vowels of a String reverse-vowels-of-a-string Easy
1323. Maximum 69 Number maximum-69-number Easy
1544. Make The String Great make-the-string-great Easy
26. Remove Duplicates from Sorted Array remove-duplicates-from-sorted-array Easy
223. Rectangle Area rectangle-area Medium
36. Valid Sudoku valid-sudoku Medium
1704. Determine if String Halves Are Alike determine-if-string-halves-are-alike Easy
1657. Determine if Two Strings Are Close determine-if-two-strings-are-close Medium
2256. Minimum Average Difference minimum-average-difference Medium
2389. Longest Subsequence With Limited Sum longest-subsequence-with-limited-sum Easy
2279. Maximum Bags With Full Capacity of Rocks maximum-bags-with-full-capacity-of-rocks Medium
944. Delete Columns to Make Sorted delete-columns-to-make-sorted Easy
2244. Minimum Rounds to Complete All Tasks minimum-rounds-to-complete-all-tasks Medium
1833. Maximum Ice Cream Bars maximum-ice-cream-bars Medium
57. Insert Interval insert-interval Medium
918. Maximum Sum Circular Subarray maximum-sum-circular-subarray Medium
6. Zigzag Conversion zigzag-conversion Medium
1470. Shuffle the Array shuffle-the-array Easy
1523. Count Odd Numbers in an Interval Range count-odd-numbers-in-an-interval-range Easy
989. Add to Array-Form of Integer add-to-array-form-of-integer Easy
443. String Compression string-compression Medium
2444. Count Subarrays With Fixed Bounds count-subarrays-with-fixed-bounds Hard
1472. Design Browser History design-browser-history Medium
2348. Number of Zero-Filled Subarrays number-of-zero-filled-subarrays Medium
2360. Longest Cycle in a Graph longest-cycle-in-a-graph Hard

Ⅷ Math Property

leetcode题目 Python代码 C++代码 难度
782. Transform to Chessboard transform-to-chessboard Hard
463. Island Perimeter island-perimeter Easy
201. Bitwise AND of Numbers Range bitwise-and-of-numbers-range Medium
(heap_optim or math)260. Single Number III single-number-iii Medium
878. Nth Magical Number nth-magical-number Hard
1015. Smallest Integer Divisible by K smallest-integer-divisible-by-k Medium
(in&out degree)997. Find the Town Judge find-the-town-judge find-the-town-judge Easy
382. Linked List Random Node linked-list-random-node Medium
421. Maximum XOR of Two Numbers in an Array maximum-xor-of-two-numbers-in-an-array Medium
31. Next Permutation next-permutation Medium
268. Missing Number missing-number Easy
29. Divide Two Integers divide-two-integers Medium
867. Transpose Matrix transpose-matrix Easy
1354. Construct Target Array With Multiple Sums construct-target-array-with-multiple-sums Hard
462. Minimum Moves to Equal Array Elements II minimum-moves-to-equal-array-elements-ii Medium
458. Poor Pigs poor-pigs Hard
342. Power of Four power-of-four Easy
326. Power of Three power-of-three Easy
48. Rotate Image rotate-image Medium
1457. Pseudo-Palindromic Paths in a Binary Tree pseudo-palindromic-paths-in-a-binary-tree Medium
42. Trapping Rain Water trapping-rain-water Hard
1680. Concatenation of Consecutive Binary Numbers concatenation-of-consecutive-binary-numbers Medium
12. Integer to Roman integer-to-roman Medium
523. Continuous Subarray Sum continuous-subarray-sum Medium
835. Image Overlap image-overlap Medium
899. Orderly Queue orderly-queue Hard
263. Ugly Number ugly-number Easy
587. Erect the Fence erect-the-fence Hard
149. Max Points on a Line max-points-on-a-line Hard
974. Subarray Sums Divisible by K subarray-sums-divisible-by-k Medium
1071. Greatest Common Divisor of Strings greatest-common-divisor-of-strings Easy
(KMP)28. Find the Index of the First Occurrence in a String find-the-index-of-the-first-occurrence-in-a-string Medium

Ⅸ Outsiders (never learned the algorithm)

leetcode题目 Python代码 C++代码 难度
(Tarjan)1192. Critical Connections in a Network critical-connections-in-a-network Hard

About

A record for coding practice on leetcode

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published