Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/convexwf/leetcode
Solution to Leetcode problems. 在此记录 Leetcode 题目的解法思路,以C++为主。
https://github.com/convexwf/leetcode
algorithm cpp data-structures leetcode
Last synced: 3 days ago
JSON representation
Solution to Leetcode problems. 在此记录 Leetcode 题目的解法思路,以C++为主。
- Host: GitHub
- URL: https://github.com/convexwf/leetcode
- Owner: convexwf
- License: mit
- Created: 2020-12-20T11:41:12.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-11-09T22:00:22.000Z (8 days ago)
- Last Synced: 2024-11-09T23:16:42.065Z (8 days ago)
- Topics: algorithm, cpp, data-structures, leetcode
- Language: C++
- Homepage:
- Size: 6.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Leetcode Solution
Only count the problems in the range of `[1, 1080]` .
**Accepted / Total** : **579 / 870**
🔒 **Accepted / Total Lock** : **105 / 152**
## Table of Leetcode Solution
| Title | Difficulty | Tags | Solution |
| --- | --- | --- | --- |
| [0001.Two Sum](.doc/0001.two-sum.md) | Easy (49.85%) | array, hash-table, sort | [cpp](.cpp/0001.two-sum.cpp) |
| [0002.Add Two Numbers](.doc/0002.add-two-numbers.md) | Medium (42.10%) | linked-list, arithmetic | [cpp](.cpp/0002.add-two-numbers.cpp) |
| [0003.Longest Substring Without Repeating Characters](.doc/0003.longest-substring-without-repeating-characters.md) | Medium (34.43%) | hash-table, sliding-window | [cpp](.cpp/0003.longest-substring-without-repeating-characters.cpp) |
| [0004.Median of Two Sorted Arrays](.doc/0004.median-of-two-sorted-arrays.md) | Hard (40.11%) | array, binary-search, divide-and-conquer | [cpp](.cpp/0004.median-of-two-sorted-arrays.cpp) |
| [0005.Longest Palindromic Substring](.doc/0005.longest-palindromic-substring.md) | Medium (33.54%) | string, dynamic-programming, palindrome | [cpp](.cpp/0005.longest-palindromic-substring.cpp) |
| [0006.Zigzag Conversion](.doc/0006.zigzag-conversion.md) | Medium (47.12%) | string | [cpp](.cpp/0006.zigzag-conversion.cpp) |
| [0007.Reverse Integer](.doc/0007.reverse-integer.md) | Medium (28.28%) | math | [cpp](.cpp/0007.reverse-integer.cpp) |
| [0008.String to Integer (atoi)](.doc/0008.string-to-integer-atoi.md) | Medium (17.04%) | math, string | [cpp](.cpp/0008.string-to-integer-atoi.cpp) |
| [0009.Palindrome Number](.doc/0009.palindrome-number.md) | Easy (55.48%) | math, palindrome | [cpp](.cpp/0009.palindrome-number.cpp) |
| [0010.Regular Expression Matching](.doc/0010.regular-expression-matching.md) | Hard (28.05%) | dynamic-programming, backtracking, string | [cpp](.cpp/0010.regular-expression-matching.cpp) |
| [0011.Container With Most Water](.doc/0011.container-with-most-water.md) | Medium (54.73%) | array, two-pointers | [cpp](.cpp/0011.container-with-most-water.cpp) |
| [0012.Integer to Roman](.doc/0012.integer-to-roman.md) | Medium (64.08%) | greedy | [cpp](.cpp/0012.integer-to-roman.cpp) |
| [0013.Roman to Integer](.doc/0013.roman-to-integer.md) | Easy (60.50%) | hash-table, string | [cpp](.cpp/0013.roman-to-integer.cpp) |
| [0014.Longest Common Prefix](.doc/0014.longest-common-prefix.md) | Easy (42.25%) | string, sort | [cpp](.cpp/0014.longest-common-prefix.cpp) |
| [0015.3Sum](.doc/0015.3-sum.md) | Medium (34.05%) | array, two-pointers, sorting, target-sum | [cpp](.cpp/0015.3-sum.cpp) |
| [0016.3Sum Closest](.doc/0016.3-sum-closest.md) | Medium (45.66%) | array, two-pointers, sorting, target-sum | [cpp](.cpp/0016.3-sum-closest.cpp) |
| [0017.Letter Combinations of a Phone Number](.doc/0017.letter-combinations-of-a-phone-number.md) | Medium (59.72%) | string, backtracking, depth-first-search, breadth-first-search, recursion | [cpp](.cpp/0017.letter-combinations-of-a-phone-number.cpp) |
| [0018.4Sum](.doc/0018.4-sum.md) | Medium (36.05%) | array, two-pointers, target-sum | [cpp](.cpp/0018.4-sum.cpp) |
| [0019.Remove Nth Node From End of List](.doc/0019.remove-nth-node-from-end-of-list.md) | Medium (43.71%) | linked-list, fast-slow-pointers | [cpp](.cpp/0019.remove-nth-node-from-end-of-list.cpp) |
| [0020.Valid Parentheses](.doc/0020.valid-parentheses.md) | Easy (40.39%) | string, stack | [cpp](.cpp/0020.valid-parentheses.cpp) |
| [0021.Merge Two Sorted Lists](.doc/0021.merge-two-sorted-lists.md) | Easy (63.81%) | linked-list | [cpp](.cpp/0021.merge-two-sorted-lists.cpp) |
| [0022.Generate Parentheses](.doc/0022.generate-parentheses.md) | Medium (74.06%) | string, backtracking, parentheses | [cpp](.cpp/0022.generate-parentheses.cpp) |
| [0023.Merge k Sorted Lists](.doc/0023.merge-k-sorted-lists.md) | Hard (51.95%) | linked-list, heap | [cpp](.cpp/0023.merge-k-sorted-lists.cpp) |
| [0024.Swap Nodes in Pairs](.doc/0024.swap-nodes-in-pairs.md) | Medium (63.79%) | linked-list, recursion | [cpp](.cpp/0024.swap-nodes-in-pairs.cpp) |
| [0025.Reverse Nodes in k-Group](.doc/0025.reverse-nodes-in-k-group.md) | Hard (57.78%) | linked-list | [cpp](.cpp/0025.reverse-nodes-in-k-group.cpp) |
| [0026.Remove Duplicates from Sorted Array](.doc/0026.remove-duplicates-from-sorted-array.md) | Easy (54.56%) | array, two-pointers, in-place-algorithm | [cpp](.cpp/0026.remove-duplicates-from-sorted-array.cpp) |
| [0027.Remove Element](.doc/0027.remove-element.md) | Easy (55.86%) | array, two-pointers, in-place-algorithm | [cpp](.cpp/0027.remove-element.cpp) |
| [0029.Divide Two Integers](.doc/0029.divide-two-integers.md) | Medium (17.23%) | math, arithmetic, bit-manipulation | [cpp](.cpp/0029.divide-two-integers.cpp) |
| [0030.Substring with Concatenation of All Words](.doc/0030.substring-with-concatenation-of-all-words.md) | Hard (31.99%) | hash-table, sliding-window, string | [cpp](.cpp/0030.substring-with-concatenation-of-all-words.cpp) |
| [0031.Next Permutation](.doc/0031.next-permutation.md) | Medium (39.28%) | array, permutation | [cpp](.cpp/0031.next-permutation.cpp) |
| [0032.Longest Valid Parentheses](.doc/0032.longest-valid-parentheses.md) | Hard (33.66%) | string, dynamic-programming, stack, parentheses, subarray | [cpp](.cpp/0032.longest-valid-parentheses.cpp) |
| [0034.Find First and Last Position of Element in Sorted Array](.doc/0034.find-first-and-last-position-of-element-in-sorted-array.md) | Medium (43.83%) | array, binary-search | [cpp](.cpp/0034.find-first-and-last-position-of-element-in-sorted-array.cpp) |
| [0035.Search Insert Position](.doc/0035.search-insert-position.md) | Easy (45.24%) | array, binary-search | [cpp](.cpp/0035.search-insert-position.cpp) |
| [0036.Valid Sudoku](.doc/0036.valid-sudoku.md) | Medium (59.21%) | hash-table, bit-manipulation | [cpp](.cpp/0036.valid-sudoku.cpp) |
| [0037.Sudoku Solver](.doc/0037.sudoku-solver.md) | Hard (60.18%) | hash-table, backtracking, bit-manipulation | [cpp](.cpp/0037.sudoku-solver.cpp) |
| [0038.Count and Say](.doc/0038.count-and-say.md) | Medium (54.21%) | string, recursion | [cpp](.cpp/0038.count-and-say.cpp) |
| [0039.Combination Sum](.doc/0039.combination-sum.md) | Medium (70.79%) | sort, backtracking, combination | [cpp](.cpp/0039.combination-sum.cpp) |
| [0043.Multiply Strings](.doc/0043.multiply-strings.md) | Medium (39.94%) | string, arithmetic | [cpp](.cpp/0043.multiply-strings.cpp) |
| [0044.Wildcard Matching](.doc/0044.wildcard-matching.md) | Hard (27.56%) | dynamic-programming, backtracking, string | [cpp](.cpp/0044.wildcard-matching.cpp) |
| [0045.Jump Game II](.doc/0045.jump-game-ii.md) | Medium (40.32%) | array, greedy | [cpp](.cpp/0045.jump-game-ii.cpp) |
| [0046.Permutations](.doc/0046.permutations.md) | Medium (77.85%) | depth-first-search, backtracking | [cpp](.cpp/0046.permutations.cpp) |
| [0047.Permutations II](.doc/0047.permutations-ii.md) | Medium (58.66%) | depth-first-search, backtracking, hash-table | [cpp](.cpp/0047.permutations-ii.cpp) |
| [0048.Rotate Image](.doc/0048.rotate-image.md) | Medium (73.57%) | array, matrix | [cpp](.cpp/0048.rotate-image.cpp) |
| [0049.Group Anagrams](.doc/0049.group-anagrams.md) | Medium (67.54%) | hash-table, string, sort | [cpp](.cpp/0049.group-anagrams.cpp) |
| [0050.Pow(x, n)](.doc/0050.pow-x-n.md) | Medium (34.35%) | math, divide-and-conquer, bit-manipulation | [cpp](.cpp/0050.pow-x-n.cpp) |
| [0051.N-Queens](.doc/0051.n-queens.md) | Hard (67.37%) | backtracking | [cpp](.cpp/0051.n-queens.cpp) |
| [0052.N-Queens II](.doc/0052.n-queens-ii.md) | Hard (73.29%) | backtracking | [cpp](.cpp/0052.n-queens-ii.cpp) |
| [0053.Maximum Subarray](.doc/0053.maximum-subarray.md) | Medium (50.56%) | divide-and-conquer, dynamic-programming, array, subarray | [cpp](.cpp/0053.maximum-subarray.cpp) |
| [0054.Spiral Matrix](.doc/0054.spiral-matrix.md) | Medium (48.63%) | matrix, array | [cpp](.cpp/0054.spiral-matrix.cpp) |
| [0055.Jump Game](.doc/0055.jump-game.md) | Medium (38.53%) | array, greedy | [cpp](.cpp/0055.jump-game.cpp) |
| [0056.Merge Intervals](.doc/0056.merge-intervals.md) | Medium (46.93%) | sort, interval | [cpp](.cpp/0056.merge-intervals.cpp) |
| [0057.Insert Interval](.doc/0057.insert-interval.md) | Medium (39.84%) | sort, interval, array | [cpp](.cpp/0057.insert-interval.cpp) |
| [0058.Length of Last Word](.doc/0058.length-of-last-word.md) | Easy (48.41%) | string, two-pointers | [cpp](.cpp/0058.length-of-last-word.cpp) |
| [0059.Spiral Matrix II](.doc/0059.spiral-matrix-ii.md) | Medium (70.66%) | array, matrix | [cpp](.cpp/0059.spiral-matrix-ii.cpp) |
| [0060.Permutation Sequence](.doc/0060.permutation-sequence.md) | Hard (46.25%) | math, permutation | [cpp](.cpp/0060.permutation-sequence.cpp) |
| [0061.Rotate List](.doc/0061.rotate-list.md) | Medium (37.29%) | linked-list, fast-slow-pointers | [cpp](.cpp/0061.rotate-list.cpp) |
| [0062.Unique Paths](.doc/0062.unique-paths.md) | Medium (64.00%) | dynamic-programming, math | [cpp](.cpp/0062.unique-paths.cpp) |
| [0063.Unique Paths II](.doc/0063.unique-paths-ii.md) | Medium (41.26%) | dynamic-programming | [cpp](.cpp/0063.unique-paths-ii.cpp) |
| [0064.Minimum Path Sum](.doc/0064.minimum-path-sum.md) | Medium (63.42%) | dynamic-programming | [cpp](.cpp/0064.minimum-path-sum.cpp) |
| [0065.Valid Number](.doc/0065.valid-number.md) | Hard (19.37%) | string, finite-automata | [cpp](.cpp/0065.valid-number.cpp) |
| [0066.Plus One](.doc/0066.plus-one.md) | Easy (44.78%) | array | [cpp](.cpp/0066.plus-one.cpp) |
| [0067.Add Binary](.doc/0067.add-binary.md) | Easy (53.13%) | string, math | [cpp](.cpp/0067.add-binary.cpp) |
| [0068.Text Justification](.doc/0068.text-justification.md) | Hard (42.40%) | string, greedy | [cpp](.cpp/0068.text-justification.cpp) |
| [0070.Climbing Stairs](.doc/0070.climbing-stairs.md) | Easy (52.80%) | dynamic-programming, fibonacci-number | [cpp](.cpp/0070.climbing-stairs.cpp) |
| [0071.Simplify Path](.doc/0071.simplify-path.md) | Medium (41.69%) | string, stack | [cpp](.cpp/0071.simplify-path.cpp) |
| [0072.Edit Distance](.doc/0072.edit-distance.md) | Medium (55.96%) | string, dynamic-programming | [cpp](.cpp/0072.edit-distance.cpp) |
| [0073.Set Matrix Zeroes](.doc/0073.set-matrix-zeroes.md) | Medium (54.70%) | array | [cpp](.cpp/0073.set-matrix-zeroes.cpp) |
| [0074.Search a 2D Matrix](.doc/0074.search-a-2-d-matrix.md) | Medium (49.67%) | matrix, binary-search | [cpp](.cpp/0074.search-a-2-d-matrix.cpp) |
| [0075.Sort Colors](.doc/0075.sort-colors.md) | Medium (61.43%) | array, two-pointers, sort | [cpp](.cpp/0075.sort-colors.cpp) |
| [0076.Minimum Window Substring](.doc/0076.minimum-window-substring.md) | Hard (41.74%) | hash-table, sliding-window, string | [cpp](.cpp/0076.minimum-window-substring.cpp) |
| [0078.Subsets](.doc/0078.subsets.md) | Medium (76.91%) | array, backtracking, bit-manipulation, subset | [cpp](.cpp/0078.subsets.cpp) |
| [0079.Word Search](.doc/0079.word-search.md) | Medium (41.24%) | matrix, backtracking, depth-first-search | [cpp](.cpp/0079.word-search.cpp) |
| [0080.Remove Duplicates from Sorted Array II](.doc/0080.remove-duplicates-from-sorted-array-ii.md) | Medium (56.97%) | in-place algorithm, array | [cpp](.cpp/0080.remove-duplicates-from-sorted-array-ii.cpp) |
| [0082.Remove Duplicates from Sorted List II](.doc/0082.remove-duplicates-from-sorted-list-ii.md) | Medium (47.01%) | linked-list | [cpp](.cpp/0082.remove-duplicates-from-sorted-list-ii.cpp) |
| [0083.Remove Duplicates from Sorted List](.doc/0083.remove-duplicates-from-sorted-list.md) | Easy (52.03%) | linked-list, duplicate | [cpp](.cpp/0083.remove-duplicates-from-sorted-list.cpp) |
| [0086.Partition List](.doc/0086.partition-list.md) | Medium (55.73%) | linked-list | [cpp](.cpp/0086.partition-list.cpp) |
| [0088.Merge Sorted Array](.doc/0088.merge-sorted-array.md) | Easy (48.89%) | array, two-pointers | [cpp](.cpp/0088.merge-sorted-array.cpp) |
| [0089.Gray Code](.doc/0089.gray-code.md) | Medium (58.55%) | hash-table, backtracking, bit-manipulation | [cpp](.cpp/0089.gray-code.cpp) |
| [0090.Subsets II](.doc/0090.subsets-ii.md) | Medium (56.91%) | array, backtracking, bit-manipulation | [cpp](.cpp/0090.subsets-ii.cpp) |
| [0091.Decode Ways](.doc/0091.decode-ways.md) | Medium (34.58%) | string, dynamic-programming | [cpp](.cpp/0091.decode-ways.cpp) |
| [0092.Reverse Linked List II](.doc/0092.reverse-linked-list-ii.md) | Medium (47.42%) | linked-list | [cpp](.cpp/0092.reverse-linked-list-ii.cpp) |
| [0094.Binary Tree Inorder Traversal](.doc/0094.binary-tree-inorder-traversal.md) | Easy (75.71%) | stack, binary-tree | [cpp](.cpp/0094.binary-tree-inorder-traversal.cpp) |
| [0095.Unique Binary Search Trees II](.doc/0095.unique-binary-search-trees-ii.md) | Medium (57.19%) | recursion, binary-search-tree, binary-tree | [cpp](.cpp/0095.unique-binary-search-trees-ii.cpp) |
| [0096.Unique Binary Search Trees](.doc/0096.unique-binary-search-trees.md) | Medium (60.75%) | dynamic-programming, binary-search-tree, binary-tree, math | [cpp](.cpp/0096.unique-binary-search-trees.cpp) |
| [0098.Validate Binary Search Tree](.doc/0098.validate-binary-search-tree.md) | Medium (32.66%) | binary-search-tree, binary-tree | [cpp](.cpp/0098.validate-binary-search-tree.cpp) |
| [0100.Same Tree](.doc/0100.same-tree.md) | Easy (60.60%) | binary-tree, depth-first-search, breadth-first-search | [cpp](.cpp/0100.same-tree.cpp) |
| [0101.Symmetric Tree](.doc/0101.symmetric-tree.md) | Easy (56.69%) | binary-tree, depth-first-search, breadth-first-search | [cpp](.cpp/0101.symmetric-tree.cpp) |
| [0102.Binary Tree Level Order Traversal](.doc/0102.binary-tree-level-order-traversal.md) | Medium (66.56%) | binary-tree, breadth-first-search | [cpp](.cpp/0102.binary-tree-level-order-traversal.cpp) |
| [0103.Binary Tree Zigzag Level Order Traversal](.doc/0103.binary-tree-zigzag-level-order-traversal.md) | Medium (58.46%) | binary-tree, breadth-first-search | [cpp](.cpp/0103.binary-tree-zigzag-level-order-traversal.cpp) |
| [0104.Maximum Depth of Binary Tree](.doc/0104.maximum-depth-of-binary-tree.md) | Easy (74.98%) | binary-tree, depth-first-search, breadth-first-search | [cpp](.cpp/0104.maximum-depth-of-binary-tree.cpp) |
| [0105.Construct Binary Tree from Preorder and Inorder Traversal](.doc/0105.construct-binary-tree-from-preorder-and-inorder-traversal.md) | Medium (63.33%) | binary-tree, hash-table | [cpp](.cpp/0105.construct-binary-tree-from-preorder-and-inorder-traversal.cpp) |
| [0106.Construct Binary Tree from Inorder and Postorder Traversal](.doc/0106.construct-binary-tree-from-inorder-and-postorder-traversal.md) | Medium (62.15%) | binary-tree, hash-table | [cpp](.cpp/0106.construct-binary-tree-from-inorder-and-postorder-traversal.cpp) |
| [0107.Binary Tree Level Order Traversal II](.doc/0107.binary-tree-level-order-traversal-ii.md) | Medium (62.86%) | binary-tree, breadth-first-search, depth-first-search | [cpp](.cpp/0107.binary-tree-level-order-traversal-ii.cpp) |
| [0108.Convert Sorted Array to Binary Search Tree](.doc/0108.convert-sorted-array-to-binary-search-tree.md) | Easy (71.25%) | binary-tree, array, depth-first-search | [cpp](.cpp/0108.convert-sorted-array-to-binary-search-tree.cpp) |
| [0109.Convert Sorted List to Binary Search Tree](.doc/0109.convert-sorted-list-to-binary-search-tree.md) | Medium (61.45%) | linked-list, binary-search-tree, fast-slow-pointers | [cpp](.cpp/0109.convert-sorted-list-to-binary-search-tree.cpp) |
| [0110.Balanced Binary Tree](.doc/0110.balanced-binary-tree.md) | Easy (51.35%) | binary-tree, depth-first-search | [cpp](.cpp/0110.balanced-binary-tree.cpp) |
| [0111.Minimum Depth of Binary Tree](.doc/0111.minimum-depth-of-binary-tree.md) | Easy (47.32%) | binary-tree, depth-first-search, breadth-first-search | [cpp](.cpp/0111.minimum-depth-of-binary-tree.cpp) |
| [0112.Path Sum](.doc/0112.path-sum.md) | Easy (49.80%) | binary-tree, path-sum | [cpp](.cpp/0112.path-sum.cpp) |
| [0113.Path Sum II](.doc/0113.path-sum-ii.md) | Medium (58.10%) | binary-tree, path-sum | [cpp](.cpp/0113.path-sum-ii.cpp) |
| [0114.Flatten Binary Tree to Linked List](.doc/0114.flatten-binary-tree-to-linked-list.md) | Medium (64.22%) | binary-tree, depth-first-search, linked-list | [cpp](.cpp/0114.flatten-binary-tree-to-linked-list.cpp) |
| [0115.Distinct Subsequences](.doc/0115.distinct-subsequences.md) | Hard (46.24%) | dynamic-programming, string | [cpp](.cpp/0115.distinct-subsequences.cpp) |
| [0116.Populating Next Right Pointers in Each Node](.doc/0116.populating-next-right-pointers-in-each-node.md) | Medium (62.14%) | binary-tree | [cpp](.cpp/0116.populating-next-right-pointers-in-each-node.cpp) |
| [0117.Populating Next Right Pointers in Each Node II](.doc/0117.populating-next-right-pointers-in-each-node-ii.md) | Medium (51.90%) | binary-tree | [cpp](.cpp/0117.populating-next-right-pointers-in-each-node-ii.cpp) |
| [0118.Pascal's Triangle](.doc/0118.pascals-triangle.md) | Easy (73.70%) | array | [cpp](.cpp/0118.pascals-triangle.cpp) |
| [0119.Pascal's Triangle II](.doc/0119.pascals-triangle-ii.md) | Easy (63.61%) | array, math | [cpp](.cpp/0119.pascals-triangle-ii.cpp) |
| [0121.Best Time to Buy and Sell Stock](.doc/0121.best-time-to-buy-and-sell-stock.md) | Easy (53.49%) | array, best-time-to-buy-and-sell-stock | [cpp](.cpp/0121.best-time-to-buy-and-sell-stock.cpp) |
| [0122.Best Time to Buy and Sell Stock II](.doc/0122.best-time-to-buy-and-sell-stock-ii.md) | Medium (65.83%) | array, greedy, best-time-to-buy-and-sell-stock | [cpp](.cpp/0122.best-time-to-buy-and-sell-stock-ii.cpp) |
| [0123.Best Time to Buy and Sell Stock III](.doc/0123.best-time-to-buy-and-sell-stock-iii.md) | Hard (47.44%) | array, greedy, dynamic-programming, best-time-to-buy-and-sell-stock | [cpp](.cpp/0123.best-time-to-buy-and-sell-stock-iii.cpp) |
| [0124.Binary Tree Maximum Path Sum](.doc/0124.binary-tree-maximum-path-sum.md) | Hard (39.83%) | binary-tree, depth-first-search | [cpp](.cpp/0124.binary-tree-maximum-path-sum.cpp) |
| [0125.Valid Palindrome](.doc/0125.valid-palindrome.md) | Easy (46.71%) | string, two-pointers | [cpp](.cpp/0125.valid-palindrome.cpp) |
| [0126.Word Ladder II](.doc/0126.word-ladder-ii.md) | Hard (27.35%) | string, backtracking, breadth-first-search, depth-first-search | [cpp](.cpp/0126.word-ladder-ii.cpp) |
| [0127.Word Ladder](.doc/0127.word-ladder.md) | Hard (38.62%) | breadth-first-search, hash-table | [cpp](.cpp/0127.word-ladder.cpp) |
| [0128.Longest Consecutive Sequence](.doc/0128.longest-consecutive-sequence.md) | Medium (47.33%) | array, hash-table, sort | [cpp](.cpp/0128.longest-consecutive-sequence.cpp) |
| [0129.Sum Root to Leaf Numbers](.doc/0129.sum-root-to-leaf-numbers.md) | Medium (63.00%) | binary-tree, depth-first-search, breadth-first-search | [cpp](.cpp/0129.sum-root-to-leaf-numbers.cpp) |
| [0130.Surrounded Regions](.doc/0130.surrounded-regions.md) | Medium (38.80%) | depth-first-search, breadth-first-search, union-find, matrix | [cpp](.cpp/0130.surrounded-regions.cpp) |
| [0131.Palindrome Partitioning](.doc/0131.palindrome-partitioning.md) | Medium (66.97%) | depth-first-search, backtracking, palindrome | [cpp](.cpp/0131.palindrome-partitioning.cpp) |
| [0132.Palindrome Partitioning II](.doc/0132.palindrome-partitioning-ii.md) | Hard (33.72%) | dynamic-programming, palindrome, string | [cpp](.cpp/0132.palindrome-partitioning-ii.cpp) |
| [0133.Clone Graph](.doc/0133.clone-graph.md) | Medium (56.23%) | hash-table, depth-first-search, breadth-first-search, graph, deep-copy | [cpp](.cpp/0133.clone-graph.cpp) |
| [0135.Candy](.doc/0135.candy.md) | Hard (43.23%) | array, greedy | [cpp](.cpp/0135.candy.cpp) |
| [0136.Single Number](.doc/0136.single-number.md) | Easy (72.27%) | bit-manipulation | [cpp](.cpp/0136.single-number.cpp) |
| [0137.Single Number II](.doc/0137.single-number-ii.md) | Medium (62.09%) | bit-manipulation | [cpp](.cpp/0137.single-number-ii.cpp) |
| [0138.Copy List with Random Pointer](.doc/0138.copy-list-with-random-pointer.md) | Medium (55.25%) | linked-list, hash-table, design, deep-copy | [cpp](.cpp/0138.copy-list-with-random-pointer.cpp) |
| [0139.Word Break](.doc/0139.word-break.md) | Medium (46.53%) | dynamic-programming, hash-table, string | [cpp](.cpp/0139.word-break.cpp) |
| [0140.Word Break II](.doc/0140.word-break-ii.md) | Hard (47.27%) | depth-first-search, memorization | [cpp](.cpp/0140.word-break-ii.cpp) |
| [0141.Linked List Cycle](.doc/0141.linked-list-cycle.md) | Easy (49.38%) | linked-list, two-pointers, hash-table, fast-slow-pointers | [cpp](.cpp/0141.linked-list-cycle.cpp) |
| [0142.Linked List Cycle II](.doc/0142.linked-list-cycle-ii.md) | Medium (50.69%) | linked-list, fast-slow-pointers | [cpp](.cpp/0142.linked-list-cycle-ii.cpp) |
| [0143.Reorder List](.doc/0143.reorder-list.md) | Medium (55.72%) | linked-list, fast-slow-pointers, stack | [cpp](.cpp/0143.reorder-list.cpp) |
| [0144.Binary Tree Preorder Traversal](.doc/0144.binary-tree-preorder-traversal.md) | Easy (68.92%) | binary-tree, stack | [cpp](.cpp/0144.binary-tree-preorder-traversal.cpp) |
| [0145.Binary Tree Postorder Traversal](.doc/0145.binary-tree-postorder-traversal.md) | Easy (70.31%) | binary-tree | [cpp](.cpp/0145.binary-tree-postorder-traversal.cpp) |
| [0146.LRU Cache](.doc/0146.lru-cache.md) | Medium (42.07%) | design | [cpp](.cpp/0146.lru-cache.cpp) |
| [0147.Insertion Sort List](.doc/0147.insertion-sort-list.md) | Medium (52.91%) | sort, linked-list | [cpp](.cpp/0147.insertion-sort-list.cpp) |
| [0150.Evaluate Reverse Polish Notation](.doc/0150.evaluate-reverse-polish-notation.md) | Medium (50.68%) | stack | [cpp](.cpp/0150.evaluate-reverse-polish-notation.cpp) |
| [0151.Reverse Words in a String](.doc/0151.reverse-words-in-a-string.md) | Medium (40.05%) | string, two-pointers | [cpp](.cpp/0151.reverse-words-in-a-string.cpp) |
| [0152.Maximum Product Subarray](.doc/0152.maximum-product-subarray.md) | Medium (34.93%) | array, dynamic-programming | [cpp](.cpp/0152.maximum-product-subarray.cpp) |
| [0155.Min Stack](.doc/0155.min-stack.md) | Medium (53.69%) | stack, design | [cpp](.cpp/0155.min-stack.cpp) |
| 0156.Binary Tree Upside Down 🔒 | | binary-tree | [cpp](.cpp/0156.binary-tree-upside-down.cpp) |
| 0157.Read N Characters Given Read4 🔒 | | string, design | [cpp](.cpp/0157.read-n-characters-given-read4.cpp) |
| 0158.Read N Characters Given read4 II - Call Multiple Times 🔒 | | string, design | [cpp](.cpp/0158.read-n-characters-given-read4-ii---call-multiple-times.cpp) |
| 0159.Longest Substring with At Most Two Distinct Characters 🔒 | | sliding-window, hash-table, string | [cpp](.cpp/0159.longest-substring-with-at-most-two-distinct-characters.cpp) |
| [0160.Intersection of Two Linked Lists](.doc/0160.intersection-of-two-linked-lists.md) | Easy (56.77%) | linked-list, two-pointers | [cpp](.cpp/0160.intersection-of-two-linked-lists.cpp) |
| 0161.One Edit Distance 🔒 | | string | [cpp](.cpp/0161.one-edit-distance.cpp) |
| [0162.Find Peak Element](.doc/0162.find-peak-element.md) | Medium (45.84%) | array, binary-search | [cpp](.cpp/0162.find-peak-element.cpp) |
| 0163.Missing Ranges 🔒 | | array, interval | [cpp](.cpp/0163.missing-ranges.cpp) |
| [0167.Two Sum II - Input Array Is Sorted](.doc/0167.two-sum-ii-input-array-is-sorted.md) | Medium (60.83%) | array, two-pointers, binary-search | [cpp](.cpp/0167.two-sum-ii-input-array-is-sorted.cpp) |
| [0168.Excel Sheet Column Title](.doc/0168.excel-sheet-column-title.md) | Easy (40.14%) | math, string, easy | [cpp](.cpp/0168.excel-sheet-column-title.cpp) |
| [0169.Majority Element](.doc/0169.majority-element.md) | Easy (63.95%) | sort, array, bit-manipulation, boyer-moore-voting-algorithm | [cpp](.cpp/0169.majority-element.cpp) |
| 0170.Two Sum III - Data structure design 🔒 | | design, hash-table, target-sum | [cpp](.cpp/0170.two-sum-iii---data-structure-design.cpp) |
| [0171.Excel Sheet Column Number](.doc/0171.excel-sheet-column-number.md) | Easy (63.34%) | math | [cpp](.cpp/0171.excel-sheet-column-number.cpp) |
| [0172.Factorial Trailing Zeroes](.doc/0172.factorial-trailing-zeroes.md) | Medium (43.08%) | math | [cpp](.cpp/0172.factorial-trailing-zeroes.cpp) |
| [0173.Binary Search Tree Iterator](.doc/0173.binary-search-tree-iterator.md) | Medium (71.45%) | design, stack, binary-tree | [cpp](.cpp/0173.binary-search-tree-iterator.cpp) |
| [0174.Dungeon Game](.doc/0174.dungeon-game.md) | Hard (37.88%) | dynamic-programming, matrix | [cpp](.cpp/0174.dungeon-game.cpp) |
| [0179.Largest Number](.doc/0179.largest-number.md) | Medium (35.71%) | sort, string | [cpp](.cpp/0179.largest-number.cpp) |
| 0186.Reverse Words in a String II 🔒 | | string, two-pointers | [cpp](.cpp/0186.reverse-words-in-a-string-ii.cpp) |
| [0187.Repeated DNA Sequences](.doc/0187.repeated-dna-sequences.md) | Medium (48.41%) | hash-table, bit-manipulation, string | [cpp](.cpp/0187.repeated-dna-sequences.cpp) |
| [0188.Best Time to Buy and Sell Stock IV](.doc/0188.best-time-to-buy-and-sell-stock-iv.md) | Hard (41.96%) | dynamic-programming, best-time-to-buy-and-sell-stock | [cpp](.cpp/0188.best-time-to-buy-and-sell-stock-iv.cpp) |
| [0189.Rotate Array](.doc/0189.rotate-array.md) | Medium (40.23%) | array | [cpp](.cpp/0189.rotate-array.cpp) |
| [0190.Reverse Bits](.doc/0190.reverse-bits.md) | Easy (57.46%) | bit-manipulation | [cpp](.cpp/0190.reverse-bits.cpp) |
| [0191.Number of 1 Bits](.doc/0191.number-of-1-bits.md) | Easy (70.18%) | bit-manipulation | [cpp](.cpp/0191.number-of-1-bits.cpp) |
| [0198.House Robber](.doc/0198.house-robber.md) | Medium (50.77%) | dynamic-programming, array | [cpp](.cpp/0198.house-robber.cpp) |
| [0199.Binary Tree Right Side View](.doc/0199.binary-tree-right-side-view.md) | Medium (62.71%) | binary-tree | [cpp](.cpp/0199.binary-tree-right-side-view.cpp) |
| [0200.Number of Islands](.doc/0200.number-of-islands.md) | Medium (58.39%) | depth-first-search, breadth-first-search | [cpp](.cpp/0200.number-of-islands.cpp) |
| [0201.Bitwise AND of Numbers Range](.doc/0201.bitwise-and-of-numbers-range.md) | Medium (43.02%) | bit-manipulation | [cpp](.cpp/0201.bitwise-and-of-numbers-range.cpp) |
| [0202.Happy Number](.doc/0202.happy-number.md) | Easy (55.78%) | hash-table, math, fast-slow-pointers | [cpp](.cpp/0202.happy-number.cpp) |
| [0203.Remove Linked List Elements](.doc/0203.remove-linked-list-elements.md) | Easy (48.12%) | linked-list | [cpp](.cpp/0203.remove-linked-list-elements.cpp) |
| [0204.Count Primes](.doc/0204.count-primes.md) | Medium (33.42%) | math | [cpp](.cpp/0204.count-primes.cpp) |
| [0205.Isomorphic Strings](.doc/0205.isomorphic-strings.md) | Easy (43.57%) | hash-table | [cpp](.cpp/0205.isomorphic-strings.cpp) |
| [0206.Reverse Linked List](.doc/0206.reverse-linked-list.md) | Easy (75.53%) | linked-list | [cpp](.cpp/0206.reverse-linked-list.cpp) |
| [0207.Course Schedule](.doc/0207.course-schedule.md) | Medium (46.49%) | graph, topological-sort, depth-first-search, breadth-first-search | [cpp](.cpp/0207.course-schedule.cpp) |
| [0208.Implement Trie (Prefix Tree)](.doc/0208.implement-trie-prefix-tree.md) | Medium (64.56%) | design, trie-tree | [cpp](.cpp/0208.implement-trie-prefix-tree.cpp) |
| [0209.Minimum Size Subarray Sum](.doc/0209.minimum-size-subarray-sum.md) | Medium (46.75%) | array, sliding-window, binary-search, prefix-sum | [cpp](.cpp/0209.minimum-size-subarray-sum.cpp) |
| [0210.Course Schedule II](.doc/0210.course-schedule-ii.md) | Medium (49.93%) | graph, topological-sort | [cpp](.cpp/0210.course-schedule-ii.cpp) |
| [0211.Design Add and Search Words Data Structure](.doc/0211.design-add-and-search-words-data-structure.md) | Medium (44.84%) | trie, backtracking, design, depth-first-search | [cpp](.cpp/0211.design-add-and-search-words-data-structure.cpp) |
| [0212.Word Search II](.doc/0212.word-search-ii.md) | Hard (36.21%) | trie, depth-first-search, backtracking, matrix | [cpp](.cpp/0212.word-search-ii.cpp) |
| [0213.House Robber II](.doc/0213.house-robber-ii.md) | Medium (41.77%) | dynamic-programming | [cpp](.cpp/0213.house-robber-ii.cpp) |
| [0217.Contains Duplicate](.doc/0217.contains-duplicate.md) | Easy (61.33%) | array, sort, hash-table, duplicate | [cpp](.cpp/0217.contains-duplicate.cpp) |
| [0219.Contains Duplicate II](.doc/0219.contains-duplicate-ii.md) | Easy (44.43%) | array, hash-table, duplicate | [cpp](.cpp/0219.contains-duplicate-ii.cpp) |
| [0220.Contains Duplicate III](.doc/0220.contains-duplicate-iii.md) | Hard (22.62%) | sliding-window, ordered-map, binary-search | [cpp](.cpp/0220.contains-duplicate-iii.cpp) |
| [0223.Rectangle Area](.doc/0223.rectangle-area.md) | Medium (45.88%) | math, geometry | [cpp](.cpp/0223.rectangle-area.cpp) |
| [0225.Implement Stack using Queues](.doc/0225.implement-stack-using-queues.md) | Easy (63.03%) | stack, queue, design | [cpp](.cpp/0225.implement-stack-using-queues.cpp) |
| [0226.Invert Binary Tree](.doc/0226.invert-binary-tree.md) | Easy (76.47%) | binary-tree, recursion | [cpp](.cpp/0226.invert-binary-tree.cpp) |
| [0228.Summary Ranges](.doc/0228.summary-ranges.md) | Easy (50.15%) | array | [cpp](.cpp/0228.summary-ranges.cpp) |
| [0229.Majority Element II](.doc/0229.majority-element-ii.md) | Medium (50.91%) | array, boyer-moore-voting-algorithm | [cpp](.cpp/0229.majority-element-ii.cpp) |
| [0230.Kth Smallest Element in a BST](.doc/0230.kth-smallest-element-in-a-bst.md) | Medium (71.99%) | binary-tree, binary-search-tree, divide-and-conquer | [cpp](.cpp/0230.kth-smallest-element-in-a-bst.cpp) |
| [0231.Power of Two](.doc/0231.power-of-two.md) | Easy (46.62%) | bit-manipulation | [cpp](.cpp/0231.power-of-two.cpp) |
| [0232.Implement Queue using Stacks](.doc/0232.implement-queue-using-stacks.md) | Easy (65.92%) | stack, queue, design | [cpp](.cpp/0232.implement-queue-using-stacks.cpp) |
| [0234.Palindrome Linked List](.doc/0234.palindrome-linked-list.md) | Easy (51.59%) | linked-list, fast-slow-pointers, stack, recursion | [cpp](.cpp/0234.palindrome-linked-list.cpp) |
| [0235.Lowest Common Ancestor of a Binary Search Tree](.doc/0235.lowest-common-ancestor-of-a-binary-search-tree.md) | Medium (64.04%) | binary-search-tree | [cpp](.cpp/0235.lowest-common-ancestor-of-a-binary-search-tree.cpp) |
| [0236.Lowest Common Ancestor of a Binary Tree](.doc/0236.lowest-common-ancestor-of-a-binary-tree.md) | Medium (61.34%) | binary-tree | [cpp](.cpp/0236.lowest-common-ancestor-of-a-binary-tree.cpp) |
| [0237.Delete Node in a Linked List](.doc/0237.delete-node-in-a-linked-list.md) | Medium (77.92%) | linked-list | [cpp](.cpp/0237.delete-node-in-a-linked-list.cpp) |
| [0238.Product of Array Except Self](.doc/0238.product-of-array-except-self.md) | Medium (65.23%) | array | [cpp](.cpp/0238.product-of-array-except-self.cpp) |
| [0240.Search a 2D Matrix II](.doc/0240.search-a-2-d-matrix-ii.md) | Medium (52.21%) | binary-search, matrix | [cpp](.cpp/0240.search-a-2-d-matrix-ii.cpp) |
| [0242.Valid Anagram](.doc/0242.valid-anagram.md) | Easy (64.16%) | hash-table | [cpp](.cpp/0242.valid-anagram.cpp) |
| 0243.Shortest Word Distance 🔒 | | string, two-pointers | [cpp](.cpp/0243.shortest-word-distance.cpp) |
| 0244.Shortest Word Distance II 🔒 | | design, hash-table, two-pointers | [cpp](.cpp/0244.shortest-word-distance-ii.cpp) |
| 0245.Shortest Word Distance III 🔒 | | string, two-pointers | [cpp](.cpp/0245.shortest-word-distance-iii.cpp) |
| 0246.Strobogrammatic Number 🔒 | | two-pointers | [cpp](.cpp/0246.strobogrammatic-number.cpp) |
| 0247.Strobogrammatic Number II 🔒 | | recursion, string | [cpp](.cpp/0247.strobogrammatic-number-ii.cpp) |
| 0248.Strobogrammatic Number III 🔒 | | string, recursion | [cpp](.cpp/0248.strobogrammatic-number-iii.cpp) |
| 0249.Group Shifted Strings 🔒 | | hash-table, string | [cpp](.cpp/0249.group-shifted-strings.cpp) |
| 0250.Count Univalue Subtrees 🔒 | | binary-tree, depth-first-search | [cpp](.cpp/0250.count-univalue-subtrees.cpp) |
| 0251.Flatten 2D Vector 🔒 | | design, two-pointers | [cpp](.cpp/0251.flatten-2d-vector.cpp) |
| 0252.Meeting Rooms 🔒 | | sort, interval | [cpp](.cpp/0252.meeting-rooms.cpp) |
| 0253.Meeting Rooms II 🔒 | | array, difference-array, interval | [cpp](.cpp/0253.meeting-rooms-ii.cpp) |
| 0256.Paint House 🔒 | | dynamic-programming | [cpp](.cpp/0256.paint-house.cpp) |
| [0257.Binary Tree Paths](.doc/0257.binary-tree-paths.md) | Easy (63.13%) | binary-tree, depth-first-search | [cpp](.cpp/0257.binary-tree-paths.cpp) |
| [0258.Add Digits](.doc/0258.add-digits.md) | Easy (66.28%) | math | [cpp](.cpp/0258.add-digits.cpp) |
| 0259.3Sum Smaller 🔒 | | array, two-pointers, sort | [cpp](.cpp/0259.3sum-smaller.cpp) |
| [0260.Single Number III](.doc/0260.single-number-iii.md) | Medium (68.20%) | bit-manipulation | [cpp](.cpp/0260.single-number-iii.cpp) |
| 0261.Graph Valid Tree 🔒 | | tree, graph, union-find | [cpp](.cpp/0261.graph-valid-tree.cpp) |
| [0263.Ugly Number](.doc/0263.ugly-number.md) | Easy (41.96%) | easy | [cpp](.cpp/0263.ugly-number.cpp) |
| [0264.Ugly Number II](.doc/0264.ugly-number-ii.md) | Medium (46.16%) | heap, math, dynamic-programming | [cpp](.cpp/0264.ugly-number-ii.cpp) |
| 0265.Paint House II 🔒 | | dynamic-programming | [cpp](.cpp/0265.paint-house-ii.cpp) |
| 0266.Palindrome Permutation 🔒 | | string, hash-table, palindrome, permutation | [cpp](.cpp/0266.palindrome-permutation.cpp) |
| [0268.Missing Number](.doc/0268.missing-number.md) | Easy (64.97%) | math, array, bit-manipulation, binary-search | [cpp](.cpp/0268.missing-number.cpp) |
| 0270.Closest Binary Search Tree Value 🔒 | | binary-search-tree, binary-tree, recursion | [cpp](.cpp/0270.closest-binary-search-tree-value.cpp) |
| 0271.Encode and Decode Strings 🔒 | | string, design | [cpp](.cpp/0271.encode-and-decode-strings.cpp) |
| [0273.Integer to English Words](.doc/0273.integer-to-english-words.md) | Hard (30.43%) | math, string, hash-table | [cpp](.cpp/0273.integer-to-english-words.cpp) |
| [0274.H-Index](.doc/0274.h-index.md) | Medium (38.72%) | sort, array, hash-table | [cpp](.cpp/0274.h-index.cpp) |
| [0275.H-Index II](.doc/0275.h-index-ii.md) | Medium (37.98%) | binary-search | [cpp](.cpp/0275.h-index-ii.cpp) |
| 0276.Paint Fence 🔒 | | dynamic-programming | [cpp](.cpp/0276.paint-fence.cpp) |
| 0277.Find the Celebrity 🔒 | | array, graph | [cpp](.cpp/0277.find-the-celebrity.cpp) |
| [0278.First Bad Version](.doc/0278.first-bad-version.md) | Easy (44.11%) | binary-search | [cpp](.cpp/0278.first-bad-version.cpp) |
| 0280.Wiggle Sort 🔒 | | sort, array | [cpp](.cpp/0280.wiggle-sort.cpp) |
| 0281.Zigzag Iterator 🔒 | | design | [cpp](.cpp/0281.zigzag-iterator.cpp) |
| [0283.Move Zeroes](.doc/0283.move-zeroes.md) | Easy (61.56%) | array, two-pointers, in-place-algorithm | [cpp](.cpp/0283.move-zeroes.cpp) |
| [0284.Peeking Iterator](.doc/0284.peeking-iterator.md) | Medium (59.24%) | design | [cpp](.cpp/0284.peeking-iterator.cpp) |
| 0285.Inorder Successor in BST 🔒 | | binary-search-tree, binary-tree, stack, recursion | [cpp](.cpp/0285.inorder-successor-in-bst.cpp) |
| 0286.Walls and Gates 🔒 | | breadth-first-search | [cpp](.cpp/0286.walls-and-gates.cpp) |
| [0287.Find the Duplicate Number](.doc/0287.find-the-duplicate-number.md) | Medium (59.40%) | array, duplicate, binary-search, bit-manipulation, fast-slow-pointers | [cpp](.cpp/0287.find-the-duplicate-number.cpp) |
| 0288.Unique Word Abbreviation 🔒 | | hash-table, string | [cpp](.cpp/0288.unique-word-abbreviation.cpp) |
| [0289.Game of Life](.doc/0289.game-of-life.md) | Medium (68.69%) | matrix, bit-manipulation, in-place-algorithm | [cpp](.cpp/0289.game-of-life.cpp) |
| [0290.Word Pattern](.doc/0290.word-pattern.md) | Easy (41.83%) | hash-table, string | [cpp](.cpp/0290.word-pattern.cpp) |
| 0291.Word Pattern II 🔒 | | backtracking, string, hash-table | [cpp](.cpp/0291.word-pattern-ii.cpp) |
| [0292.Nim Game](.doc/0292.nim-game.md) | Easy (56.61%) | math, game-theory | [cpp](.cpp/0292.nim-game.cpp) |
| 0293.Flip Game 🔒 | | string | [cpp](.cpp/0293.flip-game.cpp) |
| 0294.Flip Game II 🔒 | | game, backtracking | [cpp](.cpp/0294.flip-game-ii.cpp) |
| [0295.Find Median from Data Stream](.doc/0295.find-median-from-data-stream.md) | Hard (51.75%) | design, heap | [cpp](.cpp/0295.find-median-from-data-stream.cpp) |
| 0296.Best Meeting Point 🔒 | | math, sort | [cpp](.cpp/0296.best-meeting-point.cpp) |
| [0297.Serialize and Deserialize Binary Tree](.doc/0297.serialize-and-deserialize-binary-tree.md) | Hard (56.39%) | binary-tree, design, serialization | [cpp](.cpp/0297.serialize-and-deserialize-binary-tree.cpp) |
| 0298.Binary Tree Longest Consecutive Sequence 🔒 | | binary-tree, depth-first-search | [cpp](.cpp/0298.binary-tree-longest-consecutive-sequence.cpp) |
| [0299.Bulls and Cows](.doc/0299.bulls-and-cows.md) | Medium (50.07%) | hash-table | [cpp](.cpp/0299.bulls-and-cows.cpp) |
| 0302.Smallest Rectangle Enclosing Black Pixels 🔒 | | binary-search, matrix, geometry | [cpp](.cpp/0302.smallest-rectangle-enclosing-black-pixels.cpp) |
| [0303.Range Sum Query - Immutable](.doc/0303.range-sum-query-immutable.md) | Easy (62.44%) | prefix-sum, math, array, interval | [cpp](.cpp/0303.range-sum-query-immutable.cpp) |
| [0304.Range Sum Query 2D - Immutable](.doc/0304.range-sum-query-2-d-immutable.md) | Medium (54.09%) | prefix-sum, math, matrix, interval | [cpp](.cpp/0304.range-sum-query-2-d-immutable.cpp) |
| 0305.Number of Islands II 🔒 | | union-find | [cpp](.cpp/0305.number-of-islands-ii.cpp) |
| [0307.Range Sum Query - Mutable](.doc/0307.range-sum-query-mutable.md) | Medium (40.83%) | array, interval, binary-indexed-tree | [cpp](.cpp/0307.range-sum-query-mutable.cpp) |
| 0308.Range Sum Query 2D - Mutable 🔒 | | matrix, interval, binary-indexed-tree | |
| [0310.Minimum Height Trees](.doc/0310.minimum-height-trees.md) | Medium (38.80%) | tree, graph, topological-sort | [cpp](.cpp/0310.minimum-height-trees.cpp) |
| 0311.Sparse Matrix Multiplication 🔒 | | math, matrix | [cpp](.cpp/0311.sparse-matrix-multiplication.cpp) |
| [0313.Super Ugly Number](.doc/0313.super-ugly-number.md) | Medium (45.25%) | heap, math, dynamic-programming | [cpp](.cpp/0313.super-ugly-number.cpp) |
| 0314.Binary Tree Vertical Order Traversal 🔒 | | binary-tree, breadth-first-search, depth-first-search | [cpp](.cpp/0314.binary-tree-vertical-order-traversal.cpp) |
| [0316.Remove Duplicate Letters](.doc/0316.remove-duplicate-letters.md) | Medium (48.80%) | stack, greedy, hash-table, string | [cpp](.cpp/0316.remove-duplicate-letters.cpp) |
| 0317.Shortest Distance from All Buildings 🔒 | | breadth-first-search | [cpp](.cpp/0317.shortest-distance-from-all-buildings.cpp) |
| [0318.Maximum Product of Word Lengths](.doc/0318.maximum-product-of-word-lengths.md) | Medium (60.08%) | bit-manipulation | [cpp](.cpp/0318.maximum-product-of-word-lengths.cpp) |
| [0319.Bulb Switcher](.doc/0319.bulb-switcher.md) | Medium (52.97%) | math, brainteaser | [cpp](.cpp/0319.bulb-switcher.cpp) |
| 0320.Generalized Abbreviation 🔒 | | string, depth-first-search | [cpp](.cpp/0320.generalized-abbreviation.cpp) |
| [0321.Create Maximum Number](.doc/0321.create-maximum-number.md) | Hard (29.47%) | greedy | [cpp](.cpp/0321.create-maximum-number.cpp) |
| 0323.Number of Connected Components in an Undirected Graph 🔒 | | graph, depth-first-search, union-find | [cpp](.cpp/0323.number-of-connected-components-in-an-undirected-graph.cpp) |
| 0325.Maximum Size Subarray Sum Equals k 🔒 | | hash-table, prefix-sum | [cpp](.cpp/0325.maximum-size-subarray-sum-equals-k.cpp) |
| [0326.Power of Three](.doc/0326.power-of-three.md) | Easy (46.25%) | math | [cpp](.cpp/0326.power-of-three.cpp) |
| [0328.Odd Even Linked List](.doc/0328.odd-even-linked-list.md) | Medium (61.38%) | linked-list | [cpp](.cpp/0328.odd-even-linked-list.cpp) |
| [0329.Longest Increasing Path in a Matrix](.doc/0329.longest-increasing-path-in-a-matrix.md) | Hard (53.29%) | depth-first-search, breadth-first-search, memoization | [cpp](.cpp/0329.longest-increasing-path-in-a-matrix.cpp) |
| [0330.Patching Array](.doc/0330.patching-array.md) | Hard (40.76%) | greedy | [cpp](.cpp/0330.patching-array.cpp) |
| [0331.Verify Preorder Serialization of a Binary Tree](.doc/0331.verify-preorder-serialization-of-a-binary-tree.md) | Medium (44.82%) | stack | [cpp](.cpp/0331.verify-preorder-serialization-of-a-binary-tree.cpp) |
| [0334.Increasing Triplet Subsequence](.doc/0334.increasing-triplet-subsequence.md) | Medium (40.37%) | array | [cpp](.cpp/0334.increasing-triplet-subsequence.cpp) |
| 0339.Nested List Weight Sum 🔒 | | depth-first-search, breadth-first-search | [cpp](.cpp/0339.nested-list-weight-sum.cpp) |
| [0342.Power of Four](.doc/0342.power-of-four.md) | Easy (47.73%) | bit-manipulation, math | [cpp](.cpp/0342.power-of-four.cpp) |
| [0344.Reverse String](.doc/0344.reverse-string.md) | Easy (77.54%) | two-pointers, string | [cpp](.cpp/0344.reverse-string.cpp) |
| [0345.Reverse Vowels of a String](.doc/0345.reverse-vowels-of-a-string.md) | Easy (52.38%) | two-pointers, string | [cpp](.cpp/0345.reverse-vowels-of-a-string.cpp) |
| 0346.Moving Average from Data Stream 🔒 | | queue, design | [cpp](.cpp/0346.moving-average-from-data-stream.cpp) |
| [0347.Top K Frequent Elements](.doc/0347.top-k-frequent-elements.md) | Medium (62.72%) | hash-table, heap | [cpp](.cpp/0347.top-k-frequent-elements.cpp) |
| 0348.Design Tic-Tac-Toe 🔒 | | design, hash-table | [cpp](.cpp/0348.design-tic-tac-toe.cpp) |
| [0349.Intersection of Two Arrays](.doc/0349.intersection-of-two-arrays.md) | Easy (72.21%) | hash-table, two-pointers, binary-search, sort, set | [cpp](.cpp/0349.intersection-of-two-arrays.cpp) |
| [0350.Intersection of Two Arrays II](.doc/0350.intersection-of-two-arrays-ii.md) | Easy (56.32%) | hash-table, sort, two-pointers | [cpp](.cpp/0350.intersection-of-two-arrays-ii.cpp) |
| 0351.Android Unlock Patterns 🔒 | | depth-first-search | [cpp](.cpp/0351.android-unlock-patterns.cpp) |
| 0353.Design Snake Game 🔒 | | design, queue, hash-table | [cpp](.cpp/0353.design-snake-game.cpp) |
| [0355.Design Twitter](.doc/0355.design-twitter.md) | Medium (38.59%) | design, hash-table, heap | [cpp](.cpp/0355.design-twitter.cpp) |
| 0356.Line Reflection 🔒 | | hash-table, geometry | [cpp](.cpp/0356.line-reflection.cpp) |
| 0359.Logger Rate Limiter 🔒 | | design, hash-table | [cpp](.cpp/0359.logger-rate-limiter.cpp) |
| 0360.Sort Transformed Array 🔒 | | math, two-pointers | [cpp](.cpp/0360.sort-transformed-array.cpp) |
| 0361.Bomb Enemy 🔒 | | matrix | [cpp](.cpp/0361.bomb-enemy.cpp) |
| 0362.Design Hit Counter 🔒 | | design, binary-search | [cpp](.cpp/0362.design-hit-counter.cpp) |
| 0364.Nested List Weight Sum II 🔒 | | depth-first-search | [cpp](.cpp/0364.nested-list-weight-sum-ii.cpp) |
| [0365.Water and Jug Problem](.doc/0365.water-and-jug-problem.md) | Medium (39.69%) | math | [cpp](.cpp/0365.water-and-jug-problem.cpp) |
| 0366.Find Leaves of Binary Tree 🔒 | | binary-tree, depth-first-search | [cpp](.cpp/0366.find-leaves-of-binary-tree.cpp) |
| [0368.Largest Divisible Subset](.doc/0368.largest-divisible-subset.md) | Medium (41.61%) | math, dynamic-programming | [cpp](.cpp/0368.largest-divisible-subset.cpp) |
| 0369.Plus One Linked List 🔒 | | linked-list, recursion | [cpp](.cpp/0369.plus-one-linked-list.cpp) |
| 0370.Range Addition 🔒 | | difference-array | [cpp](.cpp/0370.range-addition.cpp) |
| [0371.Sum of Two Integers](.doc/0371.sum-of-two-integers.md) | Medium (51.51%) | bit-manipulation, arithmetic | [cpp](.cpp/0371.sum-of-two-integers.cpp) |
| [0372.Super Pow](.doc/0372.super-pow.md) | Medium (35.10%) | math | [cpp](.cpp/0372.super-pow.cpp) |
| [0374.Guess Number Higher or Lower](.doc/0374.guess-number-higher-or-lower.md) | Easy (53.05%) | binary-search | [cpp](.cpp/0374.guess-number-higher-or-lower.cpp) |
| [0375.Guess Number Higher or Lower II](.doc/0375.guess-number-higher-or-lower-ii.md) | Medium (47.17%) | dynamic-programming | [cpp](.cpp/0375.guess-number-higher-or-lower-ii.cpp) |
| [0376.Wiggle Subsequence](.doc/0376.wiggle-subsequence.md) | Medium (48.37%) | dynamic-programming, greedy | [cpp](.cpp/0376.wiggle-subsequence.cpp) |
| [0378.Kth Smallest Element in a Sorted Matrix](.doc/0378.kth-smallest-element-in-a-sorted-matrix.md) | Medium (62.23%) | binary-search, matrix | [cpp](.cpp/0378.kth-smallest-element-in-a-sorted-matrix.cpp) |
| 0379.Design Phone Directory 🔒 | | design, hash-table | [cpp](.cpp/0379.design-phone-directory.cpp) |
| [0380.Insert Delete GetRandom O(1)](.doc/0380.insert-delete-get-random-o-1.md) | Medium (54.35%) | array, hash-table, design, random | [cpp](.cpp/0380.insert-delete-get-random-o-1.cpp) |
| [0381.Insert Delete GetRandom O(1) - Duplicates allowed](.doc/0381.insert-delete-get-random-o-1-duplicates-allowed.md) | Hard (35.36%) | array, hash-table, design, random | [cpp](.cpp/0381.insert-delete-get-random-o-1-duplicates-allowed.cpp) |
| [0383.Ransom Note](.doc/0383.ransom-note.md) | Easy (60.61%) | hash-table, string, easy | [cpp](.cpp/0383.ransom-note.cpp) |
| [0384.Shuffle an Array](.doc/0384.shuffle-an-array.md) | Medium (58.13%) | random | [cpp](.cpp/0384.shuffle-an-array.cpp) |
| [0385.Mini Parser](.doc/0385.mini-parser.md) | Medium (37.05%) | string, stack, recursion | [cpp](.cpp/0385.mini-parser.cpp) |
| [0387.First Unique Character in a String](.doc/0387.first-unique-character-in-a-string.md) | Easy (60.56%) | hash-table | [cpp](.cpp/0387.first-unique-character-in-a-string.cpp) |
| [0388.Longest Absolute File Path](.doc/0388.longest-absolute-file-path.md) | Medium (46.70%) | stack, hash-table | [cpp](.cpp/0388.longest-absolute-file-path.cpp) |
| [0389.Find the Difference](.doc/0389.find-the-difference.md) | Easy (59.65%) | hash-table | [cpp](.cpp/0389.find-the-difference.cpp) |
| [0390.Elimination Game](.doc/0390.elimination-game.md) | Medium (45.85%) | math | [cpp](.cpp/0390.elimination-game.cpp) |
| [0392.Is Subsequence](.doc/0392.is-subsequence.md) | Easy (47.94%) | string, two-pointers | [cpp](.cpp/0392.is-subsequence.cpp) |
| [0393.UTF-8 Validation](.doc/0393.utf-8-validation.md) | Medium (45.04%) | bit-manipulation | [cpp](.cpp/0393.utf-8-validation.cpp) |
| [0394.Decode String](.doc/0394.decode-string.md) | Medium (58.87%) | stack, string | [cpp](.cpp/0394.decode-string.cpp) |
| [0396.Rotate Function](.doc/0396.rotate-function.md) | Medium (42.69%) | math | [cpp](.cpp/0396.rotate-function.cpp) |
| [0398.Random Pick Index](.doc/0398.random-pick-index.md) | Medium (62.58%) | random, hash-table, reservoir-sampling | [cpp](.cpp/0398.random-pick-index.cpp) |
| [0400.Nth Digit](.doc/0400.nth-digit.md) | Medium (34.57%) | math | [cpp](.cpp/0400.nth-digit.cpp) |
| [0401.Binary Watch](.doc/0401.binary-watch.md) | Easy (53.67%) | bit-manipulation | [cpp](.cpp/0401.binary-watch.cpp) |
| [0402.Remove K Digits](.doc/0402.remove-k-digits.md) | Medium (33.71%) | stack, greedy | [cpp](.cpp/0402.remove-k-digits.cpp) |
| [0404.Sum of Left Leaves](.doc/0404.sum-of-left-leaves.md) | Easy (57.58%) | binary-tree | [cpp](.cpp/0404.sum-of-left-leaves.cpp) |
| [0405.Convert a Number to Hexadecimal](.doc/0405.convert-a-number-to-hexadecimal.md) | Easy (46.85%) | bit-manipulation | [cpp](.cpp/0405.convert-a-number-to-hexadecimal.cpp) |
| [0406.Queue Reconstruction by Height](.doc/0406.queue-reconstruction-by-height.md) | Medium (73.20%) | sort | [cpp](.cpp/0406.queue-reconstruction-by-height.cpp) |
| [0407.Trapping Rain Water II](.doc/0407.trapping-rain-water-ii.md) | Hard (47.56%) | heap, breadth-first-search | [cpp](.cpp/0407.trapping-rain-water-ii.cpp) |
| 0408.Valid Word Abbreviation 🔒 | | string, two-pointers | [cpp](.cpp/0408.valid-word-abbreviation.cpp) |
| [0409.Longest Palindrome](.doc/0409.longest-palindrome.md) | Easy (53.88%) | hash-table, string, palindrome | [cpp](.cpp/0409.longest-palindrome.cpp) |
| [0412.Fizz Buzz](.doc/0412.fizz-buzz.md) | Easy (71.60%) | easy | [cpp](.cpp/0412.fizz-buzz.cpp) |
| [0413.Arithmetic Slices](.doc/0413.arithmetic-slices.md) | Medium (65.07%) | math, dynamic-programming | [cpp](.cpp/0413.arithmetic-slices.cpp) |
| [0414.Third Maximum Number](.doc/0414.third-maximum-number.md) | Easy (34.39%) | array | [cpp](.cpp/0414.third-maximum-number.cpp) |
| [0415.Add Strings](.doc/0415.add-strings.md) | Easy (51.67%) | string, arithmetic, two-pointers | [cpp](.cpp/0415.add-strings.cpp) |
| [0416.Partition Equal Subset Sum](.doc/0416.partition-equal-subset-sum.md) | Medium (46.22%) | dynamic-programming, bit-manipulation, array, target-sum | [cpp](.cpp/0416.partition-equal-subset-sum.cpp) |
| [0417.Pacific Atlantic Water Flow](.doc/0417.pacific-atlantic-water-flow.md) | Medium (54.53%) | depth-first-search, breadth-first-search, matrix | [cpp](.cpp/0417.pacific-atlantic-water-flow.cpp) |
| 0418.Sentence Screen Fitting 🔒 | | greedy | [cpp](.cpp/0418.sentence-screen-fitting.cpp) |
| [0419.Battleships in a Board](.doc/0419.battleships-in-a-board.md) | Medium (74.89%) | matrix | [cpp](.cpp/0419.battleships-in-a-board.cpp) |
| 0422.Valid Word Square 🔒 | | matrix, string | [cpp](.cpp/0422.valid-word-square.cpp) |
| [0423.Reconstruct Original Digits from English](.doc/0423.reconstruct-original-digits-from-english.md) | Medium (51.13%) | string, math | [cpp](.cpp/0423.reconstruct-original-digits-from-english.cpp) |
| [0424.Longest Repeating Character Replacement](.doc/0424.longest-repeating-character-replacement.md) | Medium (52.72%) | string, sliding-window | [cpp](.cpp/0424.longest-repeating-character-replacement.cpp) |
| 0426.Convert Binary Search Tree to Sorted Doubly Linked List 🔒 | | binary-tree, binary-search-tree, linked-list, recursion | [cpp](.cpp/0426.convert-binary-search-tree-to-sorted-doubly-linked-list.cpp) |
| [0427.Construct Quad Tree](.doc/0427.construct-quad-tree.md) | Medium (74.88%) | matrix, depth-first-search | [cpp](.cpp/0427.construct-quad-tree.cpp) |
| 0428.Serialize and Deserialize N-ary Tree 🔒 | | tree, depth-first-search, breadth-first-search, design, serialization | [cpp](.cpp/0428.serialize-and-deserialize-n-ary-tree.cpp) |
| [0429.N-ary Tree Level Order Traversal](.doc/0429.n-ary-tree-level-order-traversal.md) | Medium (70.72%) | tree, breadth-first-search, depth-first-search | [cpp](.cpp/0429.n-ary-tree-level-order-traversal.cpp) |
| [0430.Flatten a Multilevel Doubly Linked List](.doc/0430.flatten-a-multilevel-doubly-linked-list.md) | Medium (59.67%) | linked-list, stack, recursion | [cpp](.cpp/0430.flatten-a-multilevel-doubly-linked-list.cpp) |
| [0432.All O`one Data Structure](.doc/0432.all-o-one-data-structure.md) | Hard (36.50%) | hash-table, design, linked-list | [cpp](.cpp/0432.all-o-one-data-structure.cpp) |
| [0433.Minimum Genetic Mutation](.doc/0433.minimum-genetic-mutation.md) | Medium (52.49%) | breadth-first-search | [cpp](.cpp/0433.minimum-genetic-mutation.cpp) |
| [0434.Number of Segments in a String](.doc/0434.number-of-segments-in-a-string.md) | Easy (36.46%) | string | [cpp](.cpp/0434.number-of-segments-in-a-string.cpp) |
| [0437.Path Sum III](.doc/0437.path-sum-iii.md) | Medium (47.01%) | binary-tree, hash-table, depth-first-search, prefix-sum | [cpp](.cpp/0437.path-sum-iii.cpp) |
| 0439.Ternary Expression Parser 🔒 | | stack, string | [cpp](.cpp/0439.ternary-expression-parser.cpp) |
| [0441.Arranging Coins](.doc/0441.arranging-coins.md) | Easy (46.26%) | math, binary-search | [cpp](.cpp/0441.arranging-coins.cpp) |
| [0442.Find All Duplicates in an Array](.doc/0442.find-all-duplicates-in-an-array.md) | Medium (73.60%) | array, duplicate | [cpp](.cpp/0442.find-all-duplicates-in-an-array.cpp) |
| [0443.String Compression](.doc/0443.string-compression.md) | Medium (52.45%) | two-pointers | [cpp](.cpp/0443.string-compression.cpp) |
| 0444.Sequence Reconstruction 🔒 | | graph, topological-sort | [cpp](.cpp/0444.sequence-reconstruction.cpp) |
| [0445.Add Two Numbers II](.doc/0445.add-two-numbers-ii.md) | Medium (61.09%) | linked-list, arithmetic | [cpp](.cpp/0445.add-two-numbers-ii.cpp) |
| [0449.Serialize and Deserialize BST](.doc/0449.serialize-and-deserialize-bst.md) | Medium (57.11%) | binary-search-tree, binary-tree, design, monotonous-stack, serialization | [cpp](.cpp/0449.serialize-and-deserialize-bst.cpp) |
| [0450.Delete Node in a BST](.doc/0450.delete-node-in-a-bst.md) | Medium (50.50%) | binary-search-tree, binary-tree, recursion | [cpp](.cpp/0450.delete-node-in-a-bst.cpp) |
| [0451.Sort Characters By Frequency](.doc/0451.sort-characters-by-frequency.md) | Medium (70.15%) | hash-table, heap, sort, string, bucket-sort | [cpp](.cpp/0451.sort-characters-by-frequency.cpp) |
| [0452.Minimum Number of Arrows to Burst Balloons](.doc/0452.minimum-number-of-arrows-to-burst-balloons.md) | Medium (55.31%) | interval, greedy, sort | [cpp](.cpp/0452.minimum-number-of-arrows-to-burst-balloons.cpp) |
| [0453.Minimum Moves to Equal Array Elements](.doc/0453.minimum-moves-to-equal-array-elements.md) | Medium (56.02%) | array, math | [cpp](.cpp/0453.minimum-moves-to-equal-array-elements.cpp) |
| [0455.Assign Cookies](.doc/0455.assign-cookies.md) | Easy (52.73%) | greedy | [cpp](.cpp/0455.assign-cookies.cpp) |
| [0458.Poor Pigs](.doc/0458.poor-pigs.md) | Hard (60.20%) | math | [cpp](.cpp/0458.poor-pigs.cpp) |
| [0460.LFU Cache](.doc/0460.lfu-cache.md) | Hard (43.67%) | design | [cpp](.cpp/0460.lfu-cache.cpp) |
| [0461.Hamming Distance](.doc/0461.hamming-distance.md) | Easy (75.29%) | bit-manipulation | [cpp](.cpp/0461.hamming-distance.cpp) |
| [0462.Minimum Moves to Equal Array Elements II](.doc/0462.minimum-moves-to-equal-array-elements-ii.md) | Medium (60.00%) | sort, partition | [cpp](.cpp/0462.minimum-moves-to-equal-array-elements-ii.cpp) |
| [0463.Island Perimeter](.doc/0463.island-perimeter.md) | Easy (70.19%) | geometry | [cpp](.cpp/0463.island-perimeter.cpp) |
| [0467.Unique Substrings in Wraparound String](.doc/0467.unique-substrings-in-wraparound-string.md) | Medium (39.14%) | dynamic-programming | [cpp](.cpp/0467.unique-substrings-in-wraparound-string.cpp) |
| [0470.Implement Rand10() Using Rand7()](.doc/0470.implement-rand-10-using-rand-7.md) | Medium (45.95%) | math, random | [cpp](.cpp/0470.implement-rand-10-using-rand-7.cpp) |
| [0475.Heaters](.doc/0475.heaters.md) | Medium (36.61%) | binary-search, sort | [cpp](.cpp/0475.heaters.cpp) |
| [0476.Number Complement](.doc/0476.number-complement.md) | Easy (67.54%) | bit-manipulation | [cpp](.cpp/0476.number-complement.cpp) |
| [0477.Total Hamming Distance](.doc/0477.total-hamming-distance.md) | Medium (52.39%) | bit-manipulation | [cpp](.cpp/0477.total-hamming-distance.cpp) |
| [0478.Generate Random Point in a Circle](.doc/0478.generate-random-point-in-a-circle.md) | Medium (39.60%) | geometry, random, math | [cpp](.cpp/0478.generate-random-point-in-a-circle.cpp) |
| [0479.Largest Palindrome Product](.doc/0479.largest-palindrome-product.md) | Hard (32.54%) | math, palindrome | [cpp](.cpp/0479.largest-palindrome-product.cpp) |
| [0481.Magical String](.doc/0481.magical-string.md) | Medium (50.80%) | math, string | [cpp](.cpp/0481.magical-string.cpp) |
| [0482.License Key Formatting](.doc/0482.license-key-formatting.md) | Easy (43.56%) | string | [cpp](.cpp/0482.license-key-formatting.cpp) |
| 0484.Find Permutation 🔒 | | string, permutation, greedy | [cpp](.cpp/0484.find-permutation.cpp) |
| [0485.Max Consecutive Ones](.doc/0485.max-consecutive-ones.md) | Easy (58.40%) | array | [cpp](.cpp/0485.max-consecutive-ones.cpp) |
| 0489.Robot Room Cleaner 🔒 | | depth-first-search | [cpp](.cpp/0489.robot-room-cleaner.cpp) |
| 0490.The Maze 🔒 | | breadth-first-search | [cpp](.cpp/0490.the-maze.cpp) |
| [0492.Construct the Rectangle](.doc/0492.construct-the-rectangle.md) | Easy (56.87%) | math, geometry | [cpp](.cpp/0492.construct-the-rectangle.cpp) |
| [0495.Teemo Attacking](.doc/0495.teemo-attacking.md) | Easy (56.54%) | array | [cpp](.cpp/0495.teemo-attacking.cpp) |
| [0496.Next Greater Element I](.doc/0496.next-greater-element-i.md) | Easy (71.96%) | array, stack, monotonic-stack, hash-table | [cpp](.cpp/0496.next-greater-element-i.cpp) |
| [0498.Diagonal Traverse](.doc/0498.diagonal-traverse.md) | Medium (58.33%) | matrix | [cpp](.cpp/0498.diagonal-traverse.cpp) |
| 0499.The Maze III 🔒 | | breadth-first-search | [cpp](.cpp/0499.the-maze-iii.cpp) |
| [0500.Keyboard Row](.doc/0500.keyboard-row.md) | Easy (70.36%) | hash-table | [cpp](.cpp/0500.keyboard-row.cpp) |
| [0501.Find Mode in Binary Search Tree](.doc/0501.find-mode-in-binary-search-tree.md) | Easy (55.75%) | binary-search-tree, binary-tree | [cpp](.cpp/0501.find-mode-in-binary-search-tree.cpp) |
| [0504.Base 7](.doc/0504.base-7.md) | Easy (49.60%) | math | [cpp](.cpp/0504.base-7.cpp) |
| 0505.The Maze II 🔒 | | breadth-first-search | [cpp](.cpp/0505.the-maze-ii.cpp) |
| [0506.Relative Ranks](.doc/0506.relative-ranks.md) | Easy (63.18%) | array, sort, heap, ordered-map, hash-table | [cpp](.cpp/0506.relative-ranks.cpp) |
| [0507.Perfect Number](.doc/0507.perfect-number.md) | Easy (39.51%) | math | [cpp](.cpp/0507.perfect-number.cpp) |
| [0509.Fibonacci Number](.doc/0509.fibonacci-number.md) | Easy (70.69%) | fibonacci, dynamic-programming | [cpp](.cpp/0509.fibonacci-number.cpp) |
| 0510.Inorder Successor in BST II 🔒 | | binary-tree, binary-search-tree | [cpp](.cpp/0510.inorder-successor-in-bst-ii.cpp) |
| [0513.Find Bottom Left Tree Value](.doc/0513.find-bottom-left-tree-value.md) | Medium (67.04%) | binary-tree, depth-first-search, breadth-first-search | [cpp](.cpp/0513.find-bottom-left-tree-value.cpp) |
| [0515.Find Largest Value in Each Tree Row](.doc/0515.find-largest-value-in-each-tree-row.md) | Medium (64.53%) | binary-tree, depth-first-search, breadth-first-search | [cpp](.cpp/0515.find-largest-value-in-each-tree-row.cpp) |
| [0516.Longest Palindromic Subsequence](.doc/0516.longest-palindromic-subsequence.md) | Medium (62.40%) | dynamic-programming, palindrome | [cpp](.cpp/0516.longest-palindromic-subsequence.cpp) |
| [0519.Random Flip Matrix](.doc/0519.random-flip-matrix.md) | Medium (40.40%) | random, design, array | [cpp](.cpp/0519.random-flip-matrix.cpp) |
| [0520.Detect Capital](.doc/0520.detect-capital.md) | Easy (56.59%) | string | [cpp](.cpp/0520.detect-capital.cpp) |
| [0521.Longest Uncommon Subsequence I](.doc/0521.longest-uncommon-subsequence-i.md) | Easy (60.30%) | string | [cpp](.cpp/0521.longest-uncommon-subsequence-i.cpp) |
| [0522.Longest Uncommon Subsequence II](.doc/0522.longest-uncommon-subsequence-ii.md) | Medium (40.59%) | string, sort, two-pointers | [cpp](.cpp/0522.longest-uncommon-subsequence-ii.cpp) |
| 0527.Word Abbreviation 🔒 | | trie, string | [cpp](.cpp/0527.word-abbreviation.cpp) |
| 0531.Lonely Pixel I 🔒 | | matrix | [cpp](.cpp/0531.lonely-pixel-i.cpp) |
| [0535.Encode and Decode TinyURL](.doc/0535.encode-and-decode-tiny-url.md) | Medium (86.02%) | hash-table, design | [cpp](.cpp/0535.encode-and-decode-tiny-url.cpp) |
| 0536.Construct Binary Tree from String 🔒 | | binary-tree, string, recursion | [cpp](.cpp/0536.construct-binary-tree-from-string.cpp) |
| [0537.Complex Number Multiplication](.doc/0537.complex-number-multiplication.md) | Medium (71.46%) | math, string, arithmetic | [cpp](.cpp/0537.complex-number-multiplication.cpp) |
| [0538.Convert BST to Greater Tree](.doc/0538.convert-bst-to-greater-tree.md) | Medium (68.01%) | binary-search-tree, binary-tree, stack | [cpp](.cpp/0538.convert-bst-to-greater-tree.cpp) |
| [0540.Single Element in a Sorted Array](.doc/0540.single-element-in-a-sorted-array.md) | Medium (59.08%) | binary-search, bit-manipulation, duplicate | [cpp](.cpp/0540.single-element-in-a-sorted-array.cpp) |
| [0541.Reverse String II](.doc/0541.reverse-string-ii.md) | Easy (50.43%) | string | [cpp](.cpp/0541.reverse-string-ii.cpp) |
| 0544.Output Contest Matches 🔒 | | array | [cpp](.cpp/0544.output-contest-matches.cpp) |
| [0547.Number of Provinces](.doc/0547.number-of-provinces.md) | Medium (65.81%) | graph, union-find | [cpp](.cpp/0547.number-of-provinces.cpp) |
| 0548.Split Array with Equal Sum 🔒 | | prefix-sum, hash-table | [cpp](.cpp/0548.split-array-with-equal-sum.cpp) |
| [0552.Student Attendance Record II](.doc/0552.student-attendance-record-ii.md) | Hard (42.38%) | depth-first-search, memoization | [cpp](.cpp/0552.student-attendance-record-ii.cpp) |
| [0553.Optimal Division](.doc/0553.optimal-division.md) | Medium (60.41%) | math | [cpp](.cpp/0553.optimal-division.cpp) |
| [0556.Next Greater Element III](.doc/0556.next-greater-element-iii.md) | Medium (33.92%) | permutation, string | [cpp](.cpp/0556.next-greater-element-iii.cpp) |
| [0559.Maximum Depth of N-ary Tree](.doc/0559.maximum-depth-of-n-ary-tree.md) | Easy (72.50%) | tree, depth-first-search | [cpp](.cpp/0559.maximum-depth-of-n-ary-tree.cpp) |
| [0560.Subarray Sum Equals K](.doc/0560.subarray-sum-equals-k.md) | Medium (43.35%) | array, hash-table, prefix-sum | [cpp](.cpp/0560.subarray-sum-equals-k.cpp) |
| [0561.Array Partition](.doc/0561.array-partition.md) | Easy (79.58%) | array, sort | [cpp](.cpp/0561.array-partition.cpp) |
| 0562.Longest Line of Consecutive One in Matrix 🔒 | | dynamic-programming, matrix | [cpp](.cpp/0562.longest-line-of-consecutive-one-in-matrix.cpp) |
| [0566.Reshape the Matrix](.doc/0566.reshape-the-matrix.md) | Easy (63.03%) | matrix | [cpp](.cpp/0566.reshape-the-matrix.cpp) |
| 0573.Squirrel Simulation 🔒 | | planning, greedy | [cpp](.cpp/0573.squirrel-simulation.cpp) |
| 0582.Kill Process 🔒 | | tree, graph, depth-first-search | [cpp](.cpp/0582.kill-process.cpp) |
| [0583.Delete Operation for Two Strings](.doc/0583.delete-operation-for-two-strings.md) | Medium (60.05%) | string, dynamic-programming | [cpp](.cpp/0583.delete-operation-for-two-strings.cpp) |
| 0588.Design In-Memory File System 🔒 | | design, hash-table, trie | [cpp](.cpp/0588.design-in-memory-file-system.cpp) |
| [0589.N-ary Tree Preorder Traversal](.doc/0589.n-ary-tree-preorder-traversal.md) | Easy (75.35%) | stack, tree | [cpp](.cpp/0589.n-ary-tree-preorder-traversal.cpp) |
| [0590.N-ary Tree Postorder Traversal](.doc/0590.n-ary-tree-postorder-traversal.md) | Easy (77.73%) | stack, tree | [cpp](.cpp/0590.n-ary-tree-postorder-traversal.cpp) |
| [0592.Fraction Addition and Subtraction](.doc/0592.fraction-addition-and-subtraction.md) | Medium (52.57%) | math, string, arithmetic, greatest-common-divisor | [cpp](.cpp/0592.fraction-addition-and-subtraction.cpp) |
| [0593.Valid Square](.doc/0593.valid-square.md) | Medium (43.96%) | math, hash-table, geometry | [cpp](.cpp/0593.valid-square.cpp) |
| [0594.Longest Harmonious Subsequence](.doc/0594.longest-harmonious-subsequence.md) | Easy (54.31%) | hash-table, array, ordered-map, sliding-window, sort | [cpp](.cpp/0594.longest-harmonious-subsequence.cpp) |
| [0599.Minimum Index Sum of Two Lists](.doc/0599.minimum-index-sum-of-two-lists.md) | Easy (53.73%) | hash-table, string | [cpp](.cpp/0599.minimum-index-sum-of-two-lists.cpp) |
| 0604.Design Compressed String Iterator 🔒 | | design, string | [cpp](.cpp/0604.design-compressed-string-iterator.cpp) |
| [0605.Can Place Flowers](.doc/0605.can-place-flowers.md) | Easy (29.51%) | array, greedy | [cpp](.cpp/0605.can-place-flowers.cpp) |
| [0606.Construct String from Binary Tree](.doc/0606.construct-string-from-binary-tree.md) | Medium (68.98%) | binary-tree, string | [cpp](.cpp/0606.construct-string-from-binary-tree.cpp) |
| 0616.Add Bold Tag in String 🔒 | | string, trie | [cpp](.cpp/0616.add-bold-tag-in-string.cpp) |
| [0621.Task Scheduler](.doc/0621.task-scheduler.md) | Medium (57.85%) | array, hash-table, greedy | [cpp](.cpp/0621.task-scheduler.cpp) |
| [0622.Design Circular Queue](.doc/0622.design-circular-queue.md) | Medium (51.33%) | design, queue, linked-list, array | [cpp](.cpp/0622.design-circular-queue.cpp) |
| [0623.Add One Row to Tree](.doc/0623.add-one-row-to-tree.md) | Medium (59.45%) | binary-tree, depth-first-search, breadth-first-search | [cpp](.cpp/0623.add-one-row-to-tree.cpp) |
| [0624.Maximum Distance in Arrays](.doc/0624.maximum-distance-in-arrays.md) | Medium (45.89%) | array | [cpp](.cpp/0624.maximum-distance-in-arrays.cpp) |
| [0628.Maximum Product of Three Numbers](.doc/0628.maximum-product-of-three-numbers.md) | Easy (45.18%) | sort, math, array, greedy | [cpp](.cpp/0628.maximum-product-of-three-numbers.cpp) |
| [0630.Course Schedule III](.doc/0630.course-schedule-iii.md) | Hard (40.12%) | greedy, heap | [cpp](.cpp/0630.course-schedule-iii.cpp) |
| 0631.Design Excel Sum Formula 🔒 | | design, matrix | [cpp](.cpp/0631.design-excel-sum-formula.cpp) |
| [0632.Smallest Range Covering Elements from K Lists](.doc/0632.smallest-range-covering-elements-from-k-lists.md) | Hard (62.19%) | heap, hash-table, sort, sliding-window | [cpp](.cpp/0632.smallest-range-covering-elements-from-k-lists.cpp) |
| [0633.Sum of Square Numbers](.doc/0633.sum-of-square-numbers.md) | Medium (34.20%) | math, two-pointers | [cpp](.cpp/0633.sum-of-square-numbers.cpp) |
| 0634.Find the Derangement of An Array 🔒 | | dynamic-programming | [cpp](.cpp/0634.find-the-derangement-of-an-array.cpp) |
| 0635.Design Log Storage System 🔒 | | string, design, ordered-map, binary-search | [cpp](.cpp/0635.design-log-storage-system.cpp) |
| [0636.Exclusive Time of Functions](.doc/0636.exclusive-time-of-functions.md) | Medium (61.30%) | stack | [cpp](.cpp/0636.exclusive-time-of-functions.cpp) |
| [0637.Average of Levels in Binary Tree](.doc/0637.average-of-levels-in-binary-tree.md) | Easy (72.24%) | binary-tree | [cpp](.cpp/0637.average-of-levels-in-binary-tree.cpp) |
| [0638.Shopping Offers](.doc/0638.shopping-offers.md) | Medium (52.93%) | memorization, recursion | [cpp](.cpp/0638.shopping-offers.cpp) |
| [0639.Decode Ways II](.doc/0639.decode-ways-ii.md) | Hard (30.62%) | dynamic-programming | [cpp](.cpp/0639.decode-ways-ii.cpp) |
| [0640.Solve the Equation](.doc/0640.solve-the-equation.md) | Medium (43.60%) | math, string | [cpp](.cpp/0640.solve-the-equation.cpp) |
| [0641.Design Circular Deque](.doc/0641.design-circular-deque.md) | Medium (56.75%) | design, queue, linked-list, array | [cpp](.cpp/0641.design-circular-deque.cpp) |
| 0642.Design Search Autocomplete System 🔒 | | trie, string, design, sort | [cpp](.cpp/0642.design-search-autocomplete-system.cpp) |
| [0643.Maximum Average Subarray I](.doc/0643.maximum-average-subarray-i.md) | Easy (43.36%) | array, sliding-window, prefix-sum | [cpp](.cpp/0643.maximum-average-subarray-i.cpp) |
| 0644.Maximum Average Subarray II 🔒 | | binary-search, array, prefix-sum | [cpp](.cpp/0644.maximum-average-subarray-ii.cpp) |
| [0645.Set Mismatch](.doc/0645.set-mismatch.md) | Easy (42.54%) | hash-table, math, in-place | [cpp](.cpp/0645.set-mismatch.cpp) |
| [0646.Maximum Length of Pair Chain](.doc/0646.maximum-length-of-pair-chain.md) | Medium (59.65%) | dynamic-programming, greedy, sort | [cpp](.cpp/0646.maximum-length-of-pair-chain.cpp) |
| [0647.Palindromic Substrings](.doc/0647.palindromic-substrings.md) | Medium (68.35%) | string, dynamic-programming, palindrome, manacher | [cpp](.cpp/0647.palindromic-substrings.cpp) |
| [0648.Replace Words](.doc/0648.replace-words.md) | Medium (62.69%) | hash-table, trie, sort | [cpp](.cpp/0648.replace-words.cpp) |
| [0649.Dota2 Senate](.doc/0649.dota-2-senate.md) | Medium (47.80%) | greedy, queue | [cpp](.cpp/0649.dota-2-senate.cpp) |
| [0650.2 Keys Keyboard](.doc/0650.2-keys-keyboard.md) | Medium (53.58%) | dynamic-programming, math | [cpp](.cpp/0650.2-keys-keyboard.cpp) |
| 0651.4 Keys Keyboard 🔒 | | dynamic-programming | [cpp](.cpp/0651.4-keys-keyboard.cpp) |
| [0652.Find Duplicate Subtrees](.doc/0652.find-duplicate-subtrees.md) | Medium (59.15%) | binary-tree, serialization | [cpp](.cpp/0652.find-duplicate-subtrees.cpp) |
| [0653.Two Sum IV - Input is a BST](.doc/0653.two-sum-iv-input-is-a-bst.md) | Easy (61.16%) | binary-search-tree, binary-tree, hash-table | [cpp](.cpp/0653.two-sum-iv-input-is-a-bst.cpp) |
| [0655.Print Binary Tree](.doc/0655.print-binary-tree.md) | Medium (62.29%) | binary-tree, | [cpp](.cpp/0655.print-binary-tree.cpp) |
| [0657.Robot Return to Origin](.doc/0657.robot-return-to-origin.md) | Easy (75.61%) | easy | [cpp](.cpp/0657.robot-return-to-origin.cpp) |
| [0658.Find K Closest Elements](.doc/0658.find-k-closest-elements.md) | Medium (46.90%) | binary-search, two-pointers | [cpp](.cpp/0658.find-k-closest-elements.cpp) |
| [0661.Image Smoother](.doc/0661.image-smoother.md) | Easy (67.05%) | matrix | [cpp](.cpp/0661.image-smoother.cpp) |
| [0662.Maximum Width of Binary Tree](.doc/0662.maximum-width-of-binary-tree.md) | Medium (42.64%) | binary-tree | [cpp](.cpp/0662.maximum-width-of-binary-tree.cpp) |
| [0664.Strange Printer](.doc/0664.strange-printer.md) | Hard (55.13%) | dynamic-programming, depth-first-search, memoization | [cpp](.cpp/0664.strange-printer.cpp) |
| [0665.Non-decreasing Array](.doc/0665.non-decreasing-array.md) | Medium (24.40%) | array | [cpp](.cpp/0665.non-decreasing-array.cpp) |
| 0666.Path Sum IV 🔒 | | binary-tree, hash-table | [cpp](.cpp/0666.path-sum-iv.cpp) |
| [0667.Beautiful Arrangement II](.doc/0667.beautiful-arrangement-ii.md) | Medium (60.04%) | array, greedy, math, brainteaser | [cpp](.cpp/0667.beautiful-arrangement-ii.cpp) |
| [0668.Kth Smallest Number in Multiplication Table](.doc/0668.kth-smallest-number-in-multiplication-table.md) | Hard (51.54%) | matrix, binary-search | [cpp](.cpp/0668.kth-smallest-number-in-multiplication-table.cpp) |
| [0669.Trim a Binary Search Tree](.doc/0669.trim-a-binary-search-tree.md) | Medium (66.28%) | binary-search-tree, binary-tree, depth-first-search | [cpp](.cpp/0669.trim-a-binary-search-tree.cpp) |
| [0670.Maximum Swap](.doc/0670.maximum-swap.md) | Medium (47.86%) | math, greedy | [cpp](.cpp/0670.maximum-swap.cpp) |
| [0671.Second Minimum Node In a Binary Tree](.doc/0671.second-minimum-node-in-a-binary-tree.md) | Easy (44.16%) | binary-tree, depth-first-search | [cpp](.cpp/0671.second-minimum-node-in-a-binary-tree.cpp) |
| [0672.Bulb Switcher II](.doc/0672.bulb-switcher-ii.md) | Medium (50.32%) | math, bit-manipulation | [cpp](.cpp/0672.bulb-switcher-ii.cpp) |
| [0674.Longest Continuous Increasing Subsequence](.doc/0674.longest-continuous-increasing-subsequence.md) | Easy (49.98%) | array | [cpp](.cpp/0674.longest-continuous-increasing-subsequence.cpp) |
| [0676.Implement Magic Dictionary](.doc/0676.implement-magic-dictionary.md) | Medium (56.99%) | hash-table, string, trie, design, depth-first-search | [cpp](.cpp/0676.implement-magic-dictionary.cpp) |
| [0678.Valid Parenthesis String](.doc/0678.valid-parenthesis-string.md) | Medium (34.46%) | string, dynamic-programming, greedy | [cpp](.cpp/0678.valid-parenthesis-string.cpp) |
| [0680.Valid Palindrome II](.doc/0680.valid-palindrome-ii.md) | Easy (40.19%) | string, palindrome, two-pointers | [cpp](.cpp/0680.valid-palindrome-ii.cpp) |
| [0682.Baseball Game](.doc/0682.baseball-game.md) | Easy (75.66%) | stack | [cpp](.cpp/0682.baseball-game.cpp) |
| [0684.Redundant Connection](.doc/0684.redundant-connection.md) | Medium (62.34%) | graph, tree, union-find, breadth-first-search, depth-first-search | [cpp](.cpp/0684.redundant-connection.cpp) |
| [0687.Longest Univalue Path](.doc/0687.longest-univalue-path.md) | Medium (40.61%) | binary-tree, recursion | [cpp](.cpp/0687.longest-univalue-path.cpp) |
| [0688.Knight Probability in Chessboard](.doc/0688.knight-probability-in-chessboard.md) | Medium (56.17%) | dynamic-programming, depth-first-search, memoization | [cpp](.cpp/0688.knight-probability-in-chessboard.cpp) |
| [0690.Employee Importance](.doc/0690.employee-importance.md) | Medium (66.44%) | hash-table, depth-first-search, breadth-first-search, graph | [cpp](.cpp/0690.employee-importance.cpp) |
| [0692.Top K Frequent Words](.doc/0692.top-k-frequent-words.md) | Medium (57.57%) | hash-table, heap, ordered-set, sort, bucket-sort | [cpp](.cpp/0692.top-k-frequent-words.cpp) |
| [0693.Binary Number with Alternating Bits](.doc/0693.binary-number-with-alternating-bits.md) | Easy (62.12%) | bit-manipulation | [cpp](.cpp/0693.binary-number-with-alternating-bits.cpp) |
| [0695.Max Area of Island](.doc/0695.max-area-of-island.md) | Medium (71.87%) | matrix, depth-first-search | [cpp](.cpp/0695.max-area-of-island.cpp) |
| [0696.Count Binary Substrings](.doc/0696.count-binary-substrings.md) | Easy (65.54%) | string, dynamic-programming | [cpp](.cpp/0696.count-binary-substrings.cpp) |
| [0697.Degree of an Array](.doc/0697.degree-of-an-array.md) | Easy (56.36%) | array, hash-table | [cpp](.cpp/0697.degree-of-an-array.cpp) |
| [0700.Search in a Binary Search Tree](.doc/0700.search-in-a-binary-search-tree.md) | Easy (79.23%) | binary-search-tree, binary-tree, recursion | [cpp](.cpp/0700.search-in-a-binary-search-tree.cpp) |
| [0701.Insert into a Binary Search Tree](.doc/0701.insert-into-a-binary-search-tree.md) | Medium (73.86%) | binary-search-tree, binary-tree, recursion | [cpp](.cpp/0701.insert-into-a-binary-search-tree.cpp) |
| [0703.Kth Largest Element in a Stream](.doc/0703.kth-largest-element-in-a-stream.md) | Easy (56.65%) | heap, design | [cpp](.cpp/0703.kth-largest-element-in-a-stream.cpp) |
| [0704.Binary Search](.doc/0704.binary-search.md) | Easy (56.83%) | binary-search | [cpp](.cpp/0704.binary-search.cpp) |
| [0705.Design HashSet](.doc/0705.design-hash-set.md) | Easy (67.32%) | design, hash-table, array, linked-list, bit-manipulation | [cpp](.cpp/0705.design-hash-set.cpp) |
| [0706.Design HashMap](.doc/0706.design-hash-map.md) | Easy (64.56%) | design, hash-table, array, linked-list | [cpp](.cpp/0706.design-hash-map.cpp) |
| [0707.Design Linked List](.doc/0707.design-linked-list.md) | Medium (27.67%) | design, linked-list | [cpp](.cpp/0707.design-linked-list.cpp) |
| [0709.To Lower Case](.doc/0709.to-lower-case.md) | Easy (83.04%) | string, easy | [cpp](.cpp/0709.to-lower-case.cpp) |
| [0710.Random Pick with Blacklist](.doc/0710.random-pick-with-blacklist.md) | Hard (33.36%) | array, hash-table, random | [cpp](.cpp/0710.random-pick-with-blacklist.cpp) |
| [0712.Minimum ASCII Delete Sum for Two Strings](.doc/0712.minimum-ascii-delete-sum-for-two-strings.md) | Medium (64.87%) | dynamic-programming, string | [cpp](.cpp/0712.minimum-ascii-delete-sum-for-two-strings.cpp) |
| [0713.Subarray Product Less Than K](.doc/0713.subarray-product-less-than-k.md) | Medium (47.03%) | array, sliding-window | [cpp](.cpp/0713.subarray-product-less-than-k.cpp) |
| [0714.Best Time to Buy and Sell Stock with Transaction Fee](.doc/0714.best-time-to-buy-and-sell-stock-with-transaction-fee.md) | Medium (68.12%) | array, dynamic-programming, depth-first-search, memoization | [cpp](.cpp/0714.best-time-to-buy-and-sell-stock-with-transaction-fee.cpp) |
| [0717.1-bit and 2-bit Characters](.doc/0717.1-bit-and-2-bit-characters.md) | Easy (45.13%) | array, dynamic-programming | [cpp](.cpp/0717.1-bit-and-2-bit-characters.cpp) |
| [0718.Maximum Length of Repeated Subarray](.doc/0718.maximum-length-of-repeated-subarray.md) | Medium (50.98%) | array, dynamic-programming | [cpp](.cpp/0718.maximum-length-of-repeated-subarray.cpp) |
| [0722.Remove Comments](.doc/0722.remove-comments.md) | Medium (38.34%) | string | [cpp](.cpp/0722.remove-comments.cpp) |
| [0724.Find Pivot Index](.doc/0724.find-pivot-index.md) | Easy (55.66%) | prefix-sum, math, array | [cpp](.cpp/0724.find-pivot-index.cpp) |
| [0725.Split Linked List in Parts](.doc/0725.split-linked-list-in-parts.md) | Medium (57.55%) | linked-list | [cpp](.cpp/0725.split-linked-list-in-parts.cpp) |
| [0726.Number of Atoms](.doc/0726.number-of-atoms.md) | Hard (52.42%) | hash-table, stack | [cpp](.cpp/0726.number-of-atoms.cpp) |
| [0728.Self Dividing Numbers](.doc/0728.self-dividing-numbers.md) | Easy (78.05%) | math, easy | [cpp](.cpp/0728.self-dividing-numbers.cpp) |
| [0729.My Calendar I](.doc/0729.my-calendar-i.md) | Medium (56.69%) | array, interval, ordered-map, binary-search | [cpp](.cpp/0729.my-calendar-i.cpp) |
| [0733.Flood Fill](.doc/0733.flood-fill.md) | Easy (62.84%) | matrix, depth-first-search | [cpp](.cpp/0733.flood-fill.cpp) |
| 0734.Sentence Similarity 🔒 | | array, hash-table, string | [cpp](.cpp/0734.sentence-similarity.cpp) |
| [0735.Asteroid Collision](.doc/0735.asteroid-collision.md) | Medium (45.27%) | stack, | [cpp](.cpp/0735.asteroid-collision.cpp) |
| [0738.Monotone Increasing Digits](.doc/0738.monotone-increasing-digits.md) | Medium (47.35%) | greedy, string | [cpp](.cpp/0738.monotone-increasing-digits.cpp) |
| [0739.Daily Temperatures](.doc/0739.daily-temperatures.md) | Medium (66.00%) | array, stack, monotonic-stack | [cpp](.cpp/0739.daily-temperatures.cpp) |
| [0740.Delete and Earn](.doc/0740.delete-and-earn.md) | Medium (56.55%) | dynamic-programming | [cpp](.cpp/0740.delete-and-earn.cpp) |
| 0742.Closest Leaf in a Binary Tree 🔒 | | graph, binary-tree, breadth-first-search, depth-first-search | [cpp](.cpp/0742.closest-leaf-in-a-binary-tree.cpp) |
| [0746.Min Cost Climbing Stairs](.doc/0746.min-cost-climbing-stairs.md) | Easy (66.29%) | dynamic-programming, memoization, depth-first-search | [cpp](.cpp/0746.min-cost-climbing-stairs.cpp) |
| [0747.Largest Number At Least Twice of Others](.doc/0747.largest-number-at-least-twice-of-others.md) | Easy (47.72%) | array | [cpp](.cpp/0747.largest-number-at-least-twice-of-others.cpp) |
| [0748.Shortest Completing Word](.doc/0748.shortest-completing-word.md) | Easy (59.27%) | hash-table, string | [cpp](.cpp/0748.shortest-completing-word.cpp) |
| [0752.Open the Lock](.doc/0752.open-the-lock.md) | Medium (55.69%) | breadth-first-search, hash-table | [cpp](.cpp/0752.open-the-lock.cpp) |
| [0753.Cracking the Safe](.doc/0753.cracking-the-safe.md) | Hard (56.48%) | hash-table, graph, greedy | [cpp](.cpp/0753.cracking-the-safe.cpp) |
| 0758.Bold Words in String 🔒 | | string, trie | [cpp](.cpp/0758.bold-words-in-string.cpp) |
| 0759.Employee Free Time 🔒 | | sort, array, interval | [cpp](.cpp/0759.employee-free-time.cpp) |
| 0760.Find Anagram Mappings 🔒 | | array | [cpp](.cpp/0760.find-anagram-mappings.cpp) |
| [0761.Special Binary String](.doc/0761.special-binary-string.md) | Hard (60.92%) | sort, recursion | [cpp](.cpp/0761.special-binary-string.cpp) |
| [0764.Largest Plus Sign](.doc/0764.largest-plus-sign.md) | Medium (48.20%) | matrix | [cpp](.cpp/0764.largest-plus-sign.cpp) |
| [0766.Toeplitz Matrix](.doc/0766.toeplitz-matrix.md) | Easy (68.45%) | matrix | [cpp](.cpp/0766.toeplitz-matrix.cpp) |
| [0767.Reorganize String](.doc/0767.reorganize-string.md) | Medium (53.03%) | greedy, hash-table | [cpp](.cpp/0767.reorganize-string.cpp) |
| [0771.Jewels and Stones](.doc/0771.jewels-and-stones.md) | Easy (88.28%) | hash-table | [cpp](.cpp/0771.jewels-and-stones.cpp) |
| 0776.Split BST 🔒 | | binary-search-tree, binary-tree | [cpp](.cpp/0776.split-bst.cpp) |
| [0785.Is Graph Bipartite?](.doc/0785.is-graph-bipartite.md) | Medium (55.32%) | graph, breadth-first-search, depth-first-search, union-find | [cpp](.cpp/0785.is-graph-bipartite.cpp) |
| [0791.Custom Sort String](.doc/0791.custom-sort-string.md) | Medium (68.90%) | string, hash-table, sort | [cpp](.cpp/0791.custom-sort-string.cpp) |
| [0792.Number of Matching Subsequences](.doc/0792.number-of-matching-subsequences.md) | Medium (51.26%) | binary-search, hash-table, string | [cpp](.cpp/0792.number-of-matching-subsequences.cpp) |
| [0794.Valid Tic-Tac-Toe State](.doc/0794.valid-tic-tac-toe-state.md) | Medium (34.91%) | array | [cpp](.cpp/0794.valid-tic-tac-toe-state.cpp) |
| [0795.Number of Subarrays with Bounded Maximum](.doc/0795.number-of-subarrays-with-bounded-maximum.md) | Medium (53.03%) | array, sliding-window, math | [cpp](.cpp/0795.number-of-subarrays-with-bounded-maximum.cpp) |
| [0796.Rotate String](.doc/0796.rotate-string.md) | Easy (56.19%) | string, kmp | [cpp](.cpp/0796.rotate-string.cpp) |
| [0797.All Paths From Source to Target](.doc/0797.all-paths-from-source-to-target.md) | Medium (82.40%) | graph, breadth-first-search, depth-first-search | [cpp](.cpp/0797.all-paths-from-source-to-target.cpp) |
| [0799.Champagne Tower](.doc/0799.champagne-tower.md) | Medium (58.04%) | array | [cpp](.cpp/0799.champagne-tower.cpp) |
| 0800.Similar RGB Color 🔒 | | string | [cpp](.cpp/0800.similar-rgb-color.cpp) |
| [0802.Find Eventual Safe States](.doc/0802.find-eventual-safe-states.md) | Medium (61.69%) | depth-first-search, graph, topological-sort | [cpp](.cpp/0802.find-eventual-safe-states.cpp) |
| [0804.Unique Morse Code Words](.doc/0804.unique-morse-code-words.md) | Easy (83.02%) | string, hash-table, easy | [cpp](.cpp/0804.unique-morse-code-words.cpp) |
| [0806.Number of Lines To Write String](.doc/0806.number-of-lines-to-write-string.md) | Easy (67.05%) | string, easy | [cpp](.cpp/0806.number-of-lines-to-write-string.cpp) |
| [0807.Max Increase to Keep City Skyline](.doc/0807.max-increase-to-keep-city-skyline.md) | Medium (86.01%) | geometry | [cpp](.cpp/0807.max-increase-to-keep-city-skyline.cpp) |
| [0808.Soup Servings](.doc/0808.soup-servings.md) | Medium (55.31%) | dynamic-programming, depth-first-search, memoization | [cpp](.cpp/0808.soup-servings.cpp) |
| [0809.Expressive Words](.doc/0809.expressive-words.md) | Medium (46.14%) | two-pointers, string | [cpp](.cpp/0809.expressive-words.cpp) |
| [0811.Subdomain Visit Count](.doc/0811.subdomain-visit-count.md) | Medium (75.81%) | hash-table, string | [cpp](.cpp/0811.subdomain-visit-count.cpp) |
| [0812.Largest Triangle Area](.doc/0812.largest-triangle-area.md) | Easy (59.92%) | math, geometry | [cpp](.cpp/0812.largest-triangle-area.cpp) |
| [0813.Largest Sum of Averages](.doc/0813.largest-sum-of-averages.md) | Medium (52.94%) | dynamic-programming, recursion, memoization, array | [cpp](.cpp/0813.largest-sum-of-averages.cpp) |
| [0814.Binary Tree Pruning](.doc/0814.binary-tree-pruning.md) | Medium (72.29%) | binary-tree, depth-first-search | [cpp](.cpp/0814.binary-tree-pruning.cpp) |
| [0816.Ambiguous Coordinates](.doc/0816.ambiguous-coordinates.md) | Medium (56.44%) | string | [cpp](.cpp/0816.ambiguous-coordinates.cpp) |
| [0817.Linked List Components](.doc/0817.linked-list-components.md) | Medium (57.25%) | hash-table, linked-list | [cpp](.cpp/0817.linked-list-components.cpp) |
| [0819.Most Common Word](.doc/0819.most-common-word.md) | Easy (44.54%) | hash-table, string | [cpp](.cpp/0819.most-common-word.cpp) |
| [0821.Shortest Distance to a Character](.doc/0821.shortest-distance-to-a-character.md) | Easy (71.31%) | array | [cpp](.cpp/0821.shortest-distance-to-a-character.cpp) |
| [0822.Card Flipping Game](.doc/0822.card-flipping-game.md) | Medium (46.12%) | hash-table, array | [cpp](.cpp/0822.card-flipping-game.cpp) |
| [0824.Goat Latin](.doc/0824.goat-latin.md) | Easy (67.84%) | string | [cpp](.cpp/0824.goat-latin.cpp) |
| [0825.Friends Of Appropriate Ages](.doc/0825.friends-of-appropriate-ages.md) | Medium (46.35%) | array, prefix-sum | [cpp](.cpp/0825.friends-of-appropriate-ages.cpp) |
| [0827.Making A Large Island](.doc/0827.making-a-large-island.md) | Hard (46.26%) | matrix, union-find | [cpp](.cpp/0827.making-a-large-island.cpp) |
| [0832.Flipping an Image](.doc/0832.flipping-an-image.md) | Easy (82.51%) | matrix, bit-manipulation | [cpp](.cpp/0832.flipping-an-image.cpp) |
| [0833.Find And Replace in String](.doc/0833.find-and-replace-in-string.md) | Medium (53.76%) | string, hash-table | [cpp](.cpp/0833.find-and-replace-in-string.cpp) |
| [0835.Image Overlap](.doc/0835.image-overlap.md) | Medium (63.73%) | matrix, hash-table | [cpp](.cpp/0835.image-overlap.cpp) |
| [0836.Rectangle Overlap](.doc/0836.rectangle-overlap.md) | Easy (44.36%) | geometry, math | [cpp](.cpp/0836.rectangle-overlap.cpp) |
| [0839.Similar String Groups](.doc/0839.similar-string-groups.md) | Hard (54.68%) | string, union-find | [cpp](.cpp/0839.similar-string-groups.cpp) |
| [0840.Magic Squares In Grid](.doc/0840.magic-squares-in-grid.md) | Medium (38.73%) | matrix | [cpp](.cpp/0840.magic-squares-in-grid.cpp) |
| [0841.Keys and Rooms](.doc/0841.keys-and-rooms.md) | Medium (72.11%) | graph, depth-first-search, breadth-first-search | [cpp](.cpp/0841.keys-and-rooms.cpp) |
| [0843.Guess the Word](.doc/0843.guess-the-word.md) | Hard (38.51%) | game | [cpp](.cpp/0843.guess-the-word.cpp) |
| [0844.Backspace String Compare](.doc/0844.backspace-string-compare.md) | Easy (48.08%) | stack, string, two-pointers | [cpp](.cpp/0844.backspace-string-compare.cpp) |
| [0845.Longest Mountain in Array](.doc/0845.longest-mountain-in-array.md) | Medium (40.18%) | array | [cpp](.cpp/0845.longest-mountain-in-array.cpp) |
| [0846.Hand of Straights](.doc/0846.hand-of-straights.md) | Medium (56.01%) | ordered-map, array | [cpp](.cpp/0846.hand-of-straights.cpp) |
| [0848.Shifting Letters](.doc/0848.shifting-letters.md) | Medium (44.90%) | prefix-sum | [cpp](.cpp/0848.shifting-letters.cpp) |
| [0849.Maximize Distance to Closest Person](.doc/0849.maximize-distance-to-closest-person.md) | Medium (47.63%) | array | [cpp](.cpp/0849.maximize-distance-to-closest-person.cpp) |
| [0851.Loud and Rich](.doc/0851.loud-and-rich.md) | Medium (58.75%) | graph, depth-first-search | [cpp](.cpp/0851.loud-and-rich.cpp) |
| [0852.Peak Index in a Mountain Array](.doc/0852.peak-index-in-a-mountain-array.md) | Medium (69.10%) | array, binary-search | [cpp](.cpp/0852.peak-index-in-a-mountain-array.cpp) |
| [0854.K-Similar Strings](.doc/0854.k-similar-strings.md) | Hard (39.79%) | breadth-first-search, string | [cpp](.cpp/0854.k-similar-strings.cpp) |
| [0856.Score of Parentheses](.doc/0856.score-of-parentheses.md) | Medium (64.36%) | stack, string, parentheses | [cpp](.cpp/0856.score-of-parentheses.cpp) |
| [0857.Minimum Cost to Hire K Workers](.doc/0857.minimum-cost-to-hire-k-workers.md) | Hard (52.84%) | array, heap, greedy | [cpp](.cpp/0857.minimum-cost-to-hire-k-workers.cpp) |
| [0858.Mirror Reflection](.doc/0858.mirror-reflection.md) | Medium (62.42%) | math, greatest-common-divisor | [cpp](.cpp/0858.mirror-reflection.cpp) |
| [0859.Buddy Strings](.doc/0859.buddy-strings.md) | Easy (32.90%) | string | [cpp](.cpp/0859.buddy-strings.cpp) |
| [0860.Lemonade Change](.doc/0860.lemonade-change.md) | Easy (52.98%) | greedy | [cpp](.cpp/0860.lemonade-change.cpp) |
| [0861.Score After Flipping Matrix](.doc/0861.score-after-flipping-matrix.md) | Medium (74.91%) | greedy | [cpp](.cpp/0861.score-after-flipping-matrix.cpp) |
| [0865.Smallest Subtree with all the Deepest Nodes](.doc/0865.smallest-subtree-with-all-the-deepest-nodes.md) | Medium (70.02%) | binary-tree | [cpp](.cpp/0865.smallest-subtree-with-all-the-deepest-nodes.cpp) |
| [0866.Prime Palindrome](.doc/0866.prime-palindrome.md) | Medium (25.83%) | palindrome, prime, math | [cpp](.cpp/0866.prime-palindrome.cpp) |
| [0867.Transpose Matrix](.doc/0867.transpose-matrix.md) | Easy (65.56%) | easy | [cpp](.cpp/0867.transpose-matrix.cpp) |
| [0868.Binary Gap](.doc/0868.binary-gap.md) | Easy (62.30%) | bit-manipulation | [cpp](.cpp/0868.binary-gap.cpp) |
| [0869.Reordered Power of 2](.doc/0869.reordered-power-of-2.md) | Medium (63.21%) | math | [cpp](.cpp/0869.reordered-power-of-2.cpp) |
| [0870.Advantage Shuffle](.doc/0870.advantage-shuffle.md) | Medium (51.98%) | array, sort, greedy, heap | [cpp](.cpp/0870.advantage-shuffle.cpp) |
| [0871.Minimum Number of Refueling Stops](.doc/0871.minimum-number-of-refueling-stops.md) | Hard (39.86%) | dynamic-programming, heap | [cpp](.cpp/0871.minimum-number-of-refueling-stops.cpp) |
| [0872.Leaf-Similar Trees](.doc/0872.leaf-similar-trees.md) | Easy (67.68%) | binary-tree, depth-first-search | [cpp](.cpp/0872.leaf-similar-trees.cpp) |
| [0873.Length of Longest Fibonacci Subsequence](.doc/0873.length-of-longest-fibonacci-subsequence.md) | Medium (48.39%) | array, dynamic-programming, hash-table | [cpp](.cpp/0873.length-of-longest-fibonacci-subsequence.cpp) |
| [0874.Walking Robot Simulation](.doc/0874.walking-robot-simulation.md) | Medium (39.73%) | hash-table | [cpp](.cpp/0874.walking-robot-simulation.cpp) |
| [0875.Koko Eating Bananas](.doc/0875.koko-eating-bananas.md) | Medium (50.62%) | binary-search | [cpp](.cpp/0875.koko-eating-bananas.cpp) |
| [0876.Middle of the Linked List](.doc/0876.middle-of-the-linked-list.md) | Easy (76.31%) | linked-list, fast-slow-pointers | [cpp](.cpp/0876.middle-of-the-linked-list.cpp) |
| [0877.Stone Game](.doc/0877.stone-game.md) | Medium (70.09%) | dynamic-programming, minmax, math | [cpp](.cpp/0877.stone-game.cpp) |
| [0881.Boats to Save People](.doc/0881.boats-to-save-people.md) | Medium (55.90%) | greedy, two-pointers | [cpp](.cpp/0881.boats-to-save-people.cpp) |
| [0883.Projection Area of 3D Shapes](.doc/0883.projection-area-of-3-d-shapes.md) | Easy (71.41%) | geometry, math | [cpp](.cpp/0883.projection-area-of-3-d-shapes.cpp) |
| [0884.Uncommon Words from Two Sentences](.doc/0884.uncommon-words-from-two-sentences.md) | Easy (66.41%) | hash-table, string | [cpp](.cpp/0884.uncommon-words-from-two-sentences.cpp) |
| [0885.Spiral Matrix III](.doc/0885.spiral-matrix-iii.md) | Medium (84.64%) | matrix | [cpp](.cpp/0885.spiral-matrix-iii.cpp) |
| [0886.Possible Bipartition](.doc/0886.possible-bipartition.md) | Medium (50.44%) | graph, union-find | [cpp](.cpp/0886.possible-bipartition.cpp) |
| [0888.Fair Candy Swap](.doc/0888.fair-candy-swap.md) | Easy (60.83%) | hash-table | [cpp](.cpp/0888.fair-candy-swap.cpp) |
| [0890.Find and Replace Pattern](.doc/0890.find-and-replace-pattern.md) | Medium (77.07%) | hash-table, string | [cpp](.cpp/0890.find-and-replace-pattern.cpp) |
| [0891.Sum of Subsequence Widths](.doc/0891.sum-of-subsequence-widths.md) | Hard (37.37%) | math, sort | [cpp](.cpp/0891.sum-of-subsequence-widths.cpp) |
| [0892.Surface Area of 3D Shapes](.doc/0892.surface-area-of-3-d-shapes.md) | Easy (64.87%) | geometry | [cpp](.cpp/0892.surface-area-of-3-d-shapes.cpp) |
| [0893.Groups of Special-Equivalent Strings](.doc/0893.groups-of-special-equivalent-strings.md) | Medium (71.37%) | hash-table, string | [cpp](.cpp/0893.groups-of-special-equivalent-strings.cpp) |
| [0894.All Possible Full Binary Trees](.doc/0894.all-possible-full-binary-trees.md) | Medium (82.73%) | binary-tree, hash-table, recursion | [cpp](.cpp/0894.all-possible-full-binary-trees.cpp) |
| [0895.Maximum Frequency Stack](.doc/0895.maximum-frequency-stack.md) | Hard (66.47%) | heap, hash-table, design | [cpp](.cpp/0895.maximum-frequency-stack.cpp) |
| [0896.Monotonic Array](.doc/0896.monotonic-array.md) | Easy (58.60%) | array, easy | [cpp](.cpp/0896.monotonic-array.cpp) |
| [0897.Increasing Order Search Tree](.doc/0897.increasing-order-search-tree.md) | Easy (78.36%) | binary-tree, binary-search-tree | [cpp](.cpp/0897.increasing-order-search-tree.cpp) |
| [0899.Orderly Queue](.doc/0899.orderly-queue.md) | Hard (65.98%) | math, string | [cpp](.cpp/0899.orderly-queue.cpp) |
| [0900.RLE Iterator](.doc/0900.rle-iterator.md) | Medium (59.45%) | design, string | [cpp](.cpp/0900.rle-iterator.cpp) |
| [0904.Fruit Into Baskets](.doc/0904.fruit-into-baskets.md) | Medium (43.76%) | hash-table, sliding-window | [cpp](.cpp/0904.fruit-into-baskets.cpp) |
| [0905.Sort Array By Parity](.doc/0905.sort-array-by-parity.md) | Easy (75.51%) | array, two-pointers, partition | [cpp](.cpp/0905.sort-array-by-parity.cpp) |
| [0908.Smallest Range I](.doc/0908.smallest-range-i.md) | Easy (68.84%) | math | [cpp](.cpp/0908.smallest-range-i.cpp) |
| [0909.Snakes and Ladders](.doc/0909.snakes-and-ladders.md) | Medium (44.33%) | breadth-first-search | [cpp](.cpp/0909.snakes-and-ladders.cpp) |
| [0910.Smallest Range II](.doc/0910.smallest-range-ii.md) | Medium (35.65%) | math, sort | [cpp](.cpp/0910.smallest-range-ii.cpp) |
| [0914.X of a Kind in a Deck of Cards](.doc/0914.x-of-a-kind-in-a-deck-of-cards.md) | Easy (30.48%) | math | [cpp](.cpp/0914.x-of-a-kind-in-a-deck-of-cards.cpp) |
| [0920.Number of Music Playlists](.doc/0920.number-of-music-playlists.md) | Hard (60.77%) | dynamic-programming | [cpp](.cpp/0920.number-of-music-playlists.cpp) |
| [0921.Minimum Add to Make Parentheses Valid](.doc/0921.minimum-add-to-make-parentheses-valid.md) | Medium (75.06%) | string, parentheses, stack, greedy | [cpp](.cpp/0921.minimum-add-to-make-parentheses-valid.cpp) |
| [0922.Sort Array By Parity II](.doc/0922.sort-array-by-parity-ii.md) | Easy (70.66%) | array, two-pointers | [cpp](.cpp/0922.sort-array-by-parity-ii.cpp) |
| [0923.3Sum With Multiplicity](.doc/0923.3-sum-with-multiplicity.md) | Medium (45.27%) | math, sort, two-pointers, hash-table, dynamic-programming | [cpp](.cpp/0923.3-sum-with-multiplicity.cpp) |
| [0924.Minimize Malware Spread](.doc/0924.minimize-malware-spread.md) | Hard (41.96%) | breadth-first-search, union-find, graph | [cpp](.cpp/0924.minimize-malware-spread.cpp) |
| [0925.Long Pressed Name](.doc/0925.long-pressed-name.md) | Easy (32.65%) | string, two-pointers | [cpp](.cpp/0925.long-pressed-name.cpp) |
| [0926.Flip String to Monotone Increasing](.doc/0926.flip-string-to-monotone-increasing.md) | Medium (61.42%) | string | [cpp](.cpp/0926.flip-string-to-monotone-increasing.cpp) |
| [0927.Three Equal Parts](.doc/0927.three-equal-parts.md) | Hard (39.59%) | array, bit-manipulation, math | [cpp](.cpp/0927.three-equal-parts.cpp) |
| [0928.Minimize Malware Spread II](.doc/0928.minimize-malware-spread-ii.md) | Hard (42.97%) | union-find, graph, breadth-first-search | [cpp](.cpp/0928.minimize-malware-spread-ii.cpp) |
| [0929.Unique Email Addresses](.doc/0929.unique-email-addresses.md) | Easy (67.04%) | string, hash-table | [cpp](.cpp/0929.unique-email-addresses.cpp) |
| [0930.Binary Subarrays With Sum](.doc/0930.binary-subarrays-with-sum.md) | Medium (54.68%) | array, prefix-sum, hash-table, sliding-window | [cpp](.cpp/0930.binary-subarrays-with-sum.cpp) |
| [0931.Minimum Falling Path Sum](.doc/0931.minimum-falling-path-sum.md) | Medium (65.81%) | dynamic-programming | [cpp](.cpp/0931.minimum-falling-path-sum.cpp) |
| [0933.Number of Recent Calls](.doc/0933.number-of-recent-calls.md) | Easy (73.26%) | queue, binary-search | [cpp](.cpp/0933.number-of-recent-calls.cpp) |
| [0934.Shortest Bridge](.doc/0934.shortest-bridge.md) | Medium (57.73%) | depth-first-search, breadth-first-search | [cpp](.cpp/0934.shortest-bridge.cpp) |
| [0937.Reorder Data in Log Files](.doc/0937.reorder-data-in-log-files.md) | Medium (56.35%) | string, sort | [cpp](.cpp/0937.reorder-data-in-log-files.cpp) |
| [0939.Minimum Area Rectangle](.doc/0939.minimum-area-rectangle.md) | Medium (53.22%) | ordered-map, hash-table, sort | [cpp](.cpp/0939.minimum-area-rectangle.cpp) |
| [0941.Valid Mountain Array](.doc/0941.valid-mountain-array.md) | Easy (33.52%) | array | [cpp](.cpp/0941.valid-mountain-array.cpp) |
| [0942.DI String Match](.doc/0942.di-string-match.md) | Easy (77.88%) | two-pointers | [cpp](.cpp/0942.di-string-match.cpp) |
| [0944.Delete Columns to Make Sorted](.doc/0944.delete-columns-to-make-sorted.md) | Easy (74.57%) | string, easy | [cpp](.cpp/0944.delete-columns-to-make-sorted.cpp) |
| [0945.Minimum Increment to Make Array Unique](.doc/0945.minimum-increment-to-make-array-unique.md) | Medium (51.60%) | sort, greedy | [cpp](.cpp/0945.minimum-increment-to-make-array-unique.cpp) |
| [0946.Validate Stack Sequences](.doc/0946.validate-stack-sequences.md) | Medium (69.39%) | stack | [cpp](.cpp/0946.validate-stack-sequences.cpp) |
| [0948.Bag of Tokens](.doc/0948.bag-of-tokens.md) | Medium (52.17%) | greedy | [cpp](.cpp/0948.bag-of-tokens.cpp) |
| [0949.Largest Time for Given Digits](.doc/0949.largest-time-for-given-digits.md) | Medium (35.14%) | easy | [cpp](.cpp/0949.largest-time-for-given-digits.cpp) |
| [0961.N-Repeated Element in Size 2N Array](.doc/0961.n-repeated-element-in-size-2-n-array.md) | Easy (76.34%) | hash-table, math | [cpp](.cpp/0961.n-repeated-element-in-size-2-n-array.cpp) |
| [0962.Maximum Width Ramp](.doc/0962.maximum-width-ramp.md) | Medium (49.33%) | array, stack, monotonic-stack | [cpp](.cpp/0962.maximum-width-ramp.cpp) |
| [0963.Minimum Area Rectangle II](.doc/0963.minimum-area-rectangle-ii.md) | Medium (54.71%) | math, geometry, hash-table | [cpp](.cpp/0963.minimum-area-rectangle-ii.cpp) |
| [0966.Vowel Spellchecker](.doc/0966.vowel-spellchecker.md) | Medium (51.25%) | hash-table, string | [cpp](.cpp/0966.vowel-spellchecker.cpp) |
| [0968.Binary Tree Cameras](.doc/0968.binary-tree-cameras.md) | Hard (46.49%) | binary-tree, depth-first-search | [cpp](.cpp/0968.binary-tree-cameras.cpp) |
| [0980.Unique Paths III](.doc/0980.unique-paths-iii.md) | Hard (81.76%) | depth-first-search | [cpp](.cpp/0980.unique-paths-iii.cpp) |
| [0981.Time Based Key-Value Store](.doc/0981.time-based-key-value-store.md) | Medium (51.21%) | hash-table, binary-search, design, ordered-map | [cpp](.cpp/0981.time-based-key-value-store.cpp) |
| [0982.Triples with Bitwise AND Equal To Zero](.doc/0982.triples-with-bitwise-and-equal-to-zero.md) | Hard (57.66%) | array, hash-table | [cpp](.cpp/0982.triples-with-bitwise-and-equal-to-zero.cpp) |
| [0983.Minimum Cost For Tickets](.doc/0983.minimum-cost-for-tickets.md) | Medium (65.54%) | dynamic-programming | [cpp](.cpp/0983.minimum-cost-for-tickets.cpp) |
| [0984.String Without AAA or BBB](.doc/0984.string-without-aaa-or-bbb.md) | Medium (43.57%) | greedy, string, recursion | [cpp](.cpp/0984.string-without-aaa-or-bbb.cpp) |
| [0985.Sum of Even Numbers After Queries](.doc/0985.sum-of-even-numbers-after-queries.md) | Medium (68.03%) | array | [cpp](.cpp/0985.sum-of-even-numbers-after-queries.cpp) |
| [0988.Smallest String Starting From Leaf](.doc/0988.smallest-string-starting-from-leaf.md) | Medium (50.92%) | binary-tree, depth-first-search | [cpp](.cpp/0988.smallest-string-starting-from-leaf.cpp) |
| [0989.Add to Array-Form of Integer](.doc/0989.add-to-array-form-of-integer.md) | Easy (46.43%) | array, arithmetic | [cpp](.cpp/0989.add-to-array-form-of-integer.cpp) |
| [0991.Broken Calculator](.doc/0991.broken-calculator.md) | Medium (54.25%) | math, greedy, recursion | [cpp](.cpp/0991.broken-calculator.cpp) |
| [0993.Cousins in Binary Tree](.doc/0993.cousins-in-binary-tree.md) | Easy (55.14%) | binary-tree, breadth-first-search, depth-first-search | [cpp](.cpp/0993.cousins-in-binary-tree.cpp) |
| [0994.Rotting Oranges](.doc/0994.rotting-oranges.md) | Medium (53.25%) | matrix, breadth-first-search | [cpp](.cpp/0994.rotting-oranges.cpp) |
| [0997.Find the Town Judge](.doc/0997.find-the-town-judge.md) | Easy (49.40%) | graph | [cpp](.cpp/0997.find-the-town-judge.cpp) |
| [0998.Maximum Binary Tree II](.doc/0998.maximum-binary-tree-ii.md) | Medium (67.81%) | binary-tree, recursion | [cpp](.cpp/0998.maximum-binary-tree-ii.cpp) |
| [0999.Available Captures for Rook](.doc/0999.available-captures-for-rook.md) | Easy (68.36%) | depth-first-search, matrix | [cpp](.cpp/0999.available-captures-for-rook.cpp) |
| [1006.Clumsy Factorial](.doc/1006.clumsy-factorial.md) | Medium (56.52%) | stack, math | [cpp](.cpp/1006.clumsy-factorial.cpp) |
| [1007.Minimum Domino Rotations For Equal Row](.doc/1007.minimum-domino-rotations-for-equal-row.md) | Medium (52.23%) | array, greedy | [cpp](.cpp/1007.minimum-domino-rotations-for-equal-row.cpp) |
| [1008.Construct Binary Search Tree from Preorder Traversal](.doc/1008.construct-binary-search-tree-from-preorder-traversal.md) | Medium (81.77%) | binary-tree, binary-search-tree, depth-first-search | [cpp](.cpp/1008.construct-binary-search-tree-from-preorder-traversal.cpp) |
| [1009.Complement of Base 10 Integer](.doc/1009.complement-of-base-10-integer.md) | Easy (60.82%) | bit-manipulation | [cpp](.cpp/1009.complement-of-base-10-integer.cpp) |
| [1010.Pairs of Songs With Total Durations Divisible by 60](.doc/1010.pairs-of-songs-with-total-durations-divisible-by-60.md) | Medium (52.68%) | array, hash-table | [cpp](.cpp/1010.pairs-of-songs-with-total-durations-divisible-by-60.cpp) |
| [1011.Capacity To Ship Packages Within D Days](.doc/1011.capacity-to-ship-packages-within-d-days.md) | Medium (68.53%) | array, binary-search | [cpp](.cpp/1011.capacity-to-ship-packages-within-d-days.cpp) |
| [1013.Partition Array Into Three Parts With Equal Sum](.doc/1013.partition-array-into-three-parts-with-equal-sum.md) | Easy (42.12%) | array, prefix-sum | [cpp](.cpp/1013.partition-array-into-three-parts-with-equal-sum.cpp) |
| [1014.Best Sightseeing Pair](.doc/1014.best-sightseeing-pair.md) | Medium (59.34%) | array | [cpp](.cpp/1014.best-sightseeing-pair.cpp) |
| [1017.Convert to Base -2](.doc/1017.convert-to-base-2.md) | Medium (60.56%) | math | [cpp](.cpp/1017.convert-to-base-2.cpp) |
| [1019.Next Greater Node In Linked List](.doc/1019.next-greater-node-in-linked-list.md) | Medium (60.15%) | linked-list, stack, monotonic-stack | [cpp](.cpp/1019.next-greater-node-in-linked-list.cpp) |
| [1021.Remove Outermost Parentheses](.doc/1021.remove-outermost-parentheses.md) | Easy (81.94%) | parentheses, stack, string | [cpp](.cpp/1021.remove-outermost-parentheses.cpp) |
| [1025.Divisor Game](.doc/1025.divisor-game.md) | Easy (68.30%) | math, game-theory | [cpp](.cpp/1025.divisor-game.cpp) |
| [1027.Longest Arithmetic Subsequence](.doc/1027.longest-arithmetic-subsequence.md) | Medium (49.01%) | dynamic-programming | [cpp](.cpp/1027.longest-arithmetic-subsequence.cpp) |
| [1029.Two City Scheduling](.doc/1029.two-city-scheduling.md) | Medium (65.68%) | greedy | [cpp](.cpp/1029.two-city-scheduling.cpp) |
| [1030.Matrix Cells in Distance Order](.doc/1030.matrix-cells-in-distance-order.md) | Easy (69.88%) | breadth-first-search, sort | [cpp](.cpp/1030.matrix-cells-in-distance-order.cpp) |
| [1031.Maximum Sum of Two Non-Overlapping Subarrays](.doc/1031.maximum-sum-of-two-non-overlapping-subarrays.md) | Medium (59.73%) | array, prefix-sum | [cpp](.cpp/1031.maximum-sum-of-two-non-overlapping-subarrays.cpp) |
| [1032.Stream of Characters](.doc/1032.stream-of-characters.md) | Hard (51.82%) | trie, design | [cpp](.cpp/1032.stream-of-characters.cpp) |
| [1035.Uncrossed Lines](.doc/1035.uncrossed-lines.md) | Medium (62.69%) | dynamic-programming | [cpp](.cpp/1035.uncrossed-lines.cpp) |
| [1037.Valid Boomerang](.doc/1037.valid-boomerang.md) | Easy (36.82%) | math, geometry | [cpp](.cpp/1037.valid-boomerang.cpp) |
| [1038.Binary Search Tree to Greater Sum Tree](.doc/1038.binary-search-tree-to-greater-sum-tree.md) | Medium (85.71%) | binary-search-tree, binary-tree | [cpp](.cpp/1038.binary-search-tree-to-greater-sum-tree.cpp) |
| [1041.Robot Bounded In Circle](.doc/1041.robot-bounded-in-circle.md) | Medium (55.46%) | array | [cpp](.cpp/1041.robot-bounded-in-circle.cpp) |
| [1042.Flower Planting With No Adjacent](.doc/1042.flower-planting-with-no-adjacent.md) | Medium (50.91%) | graph, greedy | [cpp](.cpp/1042.flower-planting-with-no-adjacent.cpp) |
| [1046.Last Stone Weight](.doc/1046.last-stone-weight.md) | Easy (65.15%) | heap | [cpp](.cpp/1046.last-stone-weight.cpp) |
| [1047.Remove All Adjacent Duplicates In String](.doc/1047.remove-all-adjacent-duplicates-in-string.md) | Easy (69.13%) | stack, string | [cpp](.cpp/1047.remove-all-adjacent-duplicates-in-string.cpp) |
| [1048.Longest String Chain](.doc/1048.longest-string-chain.md) | Medium (60.84%) | hash-table, sort | [cpp](.cpp/1048.longest-string-chain.cpp) |
| [1051.Height Checker](.doc/1051.height-checker.md) | Easy (76.02%) | sort, counting-sort, array | [cpp](.cpp/1051.height-checker.cpp) |
| [1052.Grumpy Bookstore Owner](.doc/1052.grumpy-bookstore-owner.md) | Medium (57.13%) | prefix-sum | [cpp](.cpp/1052.grumpy-bookstore-owner.cpp) |
| [1053.Previous Permutation With One Swap](.doc/1053.previous-permutation-with-one-swap.md) | Medium (49.95%) | math, permutation, greedy | [cpp](.cpp/1053.previous-permutation-with-one-swap.cpp) |
| [1054.Distant Barcodes](.doc/1054.distant-barcodes.md) | Medium (46.16%) | hash-table, sort | [cpp](.cpp/1054.distant-barcodes.cpp) |
| 1055.Shortest Way to Form String 🔒 | | string, two-pointers | [cpp](.cpp/1055.shortest-way-to-form-string.cpp) |
| 1056.Confusing Number 🔒 | | math | [cpp](.cpp/1056.confusing-number.cpp) |
| 1058.Minimize Rounding Error to Meet Target 🔒 | | math | [cpp](.cpp/1058.minimize-rounding-error-to-meet-target.cpp) |
| 1065.Index Pairs of a String 🔒 | | string, trie | [cpp](.cpp/1065.index-pairs-of-a-string.cpp) |
| [1071.Greatest Common Divisor of Strings](.doc/1071.greatest-common-divisor-of-strings.md) | Easy (52.07%) | string | [cpp](.cpp/1071.greatest-common-divisor-of-strings.cpp) |
| [1072.Flip Columns For Maximum Number of Equal Rows](.doc/1072.flip-columns-for-maximum-number-of-equal-rows.md) | Medium (63.81%) | matrix, hash-table | [cpp](.cpp/1072.flip-columns-for-maximum-number-of-equal-rows.cpp) |
| [1073.Adding Two Negabinary Numbers](.doc/1073.adding-two-negabinary-numbers.md) | Medium (36.66%) | arithmetic | [cpp](.cpp/1073.adding-two-negabinary-numbers.cpp) |
| [1078.Occurrences After Bigram](.doc/1078.occurrences-after-bigram.md) | Easy (63.37%) | string | [cpp](.cpp/1078.occurrences-after-bigram.cpp) |
| [1079.Letter Tile Possibilities](.doc/1079.letter-tile-possibilities.md) | Medium (76.12%) | hash-table, recursion, permutation, string | [cpp](.cpp/1079.letter-tile-possibilities.cpp) |
| [1080.Insufficient Nodes in Root to Leaf Paths](.doc/1080.insufficient-nodes-in-root-to-leaf-paths.md) | Medium (54.38%) | binary-tree, depth-first-search | [cpp](.cpp/1080.insufficient-nodes-in-root-to-leaf-paths.cpp) |
| [1143.Longest Common Subsequence](.doc/1143.longest-common-subsequence.md) | Medium (57.85%) | dynamic-programming, string | [cpp](.cpp/1143.longest-common-subsequence.cpp) |
| [1201.Ugly Number III](.doc/1201.ugly-number-iii.md) | Medium (29.27%) | binary-search, math | [cpp](.cpp/1201.ugly-number-iii.cpp) |
| [1276.Number of Burgers with No Waste of Ingredients](.doc/1276.number-of-burgers-with-no-waste-of-ingredients.md) | Medium (50.97%) | math | [cpp](.cpp/1276.number-of-burgers-with-no-waste-of-ingredients.cpp) |
| [1290.Convert Binary Number in a Linked List to Integer](.doc/1290.convert-binary-number-in-a-linked-list-to-integer.md) | Easy (81.19%) | linked-list, easy | [cpp](.cpp/1290.convert-binary-number-in-a-linked-list-to-integer.cpp) |
| [1312.Minimum Insertion Steps to Make a String Palindrome](.doc/1312.minimum-insertion-steps-to-make-a-string-palindrome.md) | Hard (70.00%) | string, dynamic-programming, depth-first-search, memoization, palindrome | [cpp](.cpp/1312.minimum-insertion-steps-to-make-a-string-palindrome.cpp) |
| [1332.Remove Palindromic Subsequences](.doc/1332.remove-palindromic-subsequences.md) | Easy (76.32%) | string, palindrome, greedy | [cpp](.cpp/1332.remove-palindromic-subsequences.cpp) |
| [1411.Number of Ways to Paint N × 3 Grid](.doc/1411.number-of-ways-to-paint-n-3-grid.md) | Hard (62.65%) | math | [cpp](.cpp/1411.number-of-ways-to-paint-n-3-grid.cpp) |
| [1446.Consecutive Characters](.doc/1446.consecutive-characters.md) | Easy (60.44%) | string, easy | [cpp](.cpp/1446.consecutive-characters.cpp) |
| [1600.Throne Inheritance](.doc/1600.throne-inheritance.md) | Medium (64.48%) | tree | [cpp](.cpp/1600.throne-inheritance.cpp) |
| [1706.Where Will the Ball Fall](.doc/1706.where-will-the-ball-fall.md) | Medium (71.70%) | dynamic-programming, depth-first-search, memoization | [cpp](.cpp/1706.where-will-the-ball-fall.cpp) |
| [1971.Find if Path Exists in Graph](.doc/1971.find-if-path-exists-in-graph.md) | Easy (51.56%) | graph, depth-first-search, breadth-first-search, union-find | [cpp](.cpp/1971.find-if-path-exists-in-graph.cpp) |
| [2401.Longest Nice Subarray](.doc/2401.longest-nice-subarray.md) | Medium (50.52%) | bit-manipulation, sliding-window | [cpp](.cpp/2401.longest-nice-subarray.cpp) |
| [2423.Remove Letter To Equalize Frequency](.doc/2423.remove-letter-to-equalize-frequency.md) | Easy (17.25%) | hash-table, string | [cpp](.cpp/2423.remove-letter-to-equalize-frequency.cpp) |
| [2511.Maximum Enemy Forts That Can Be Captured](.doc/2511.maximum-enemy-forts-that-can-be-captured.md) | Easy (37.75%) | array, two-pointers | [cpp](.cpp/2511.maximum-enemy-forts-that-can-be-captured.cpp) |## Reference