Skip to content

Repository files navigation

LeetCode Python Solutions

Welcome to my LeetCode solutions repository, where I share my solutions to various LeetCode problems using Python. This collection is organized by problem number and includes detailed explanations alongside the code.

Structure

Each problem's solution is stored in its own directory named after the problem's ID. Inside each directory, you'll find:

  • Python Solution File (solution.py): This file contains the Python code implementing the solution.
  • README.md: Detailed explanation of the problem, approach, and the thought process behind the solution.

Why This Repository?

  • Learning Resource: Use this repository to learn different problem-solving strategies and Python coding techniques.
  • Reference Guide: Easily refer back to solutions when revisiting problems or preparing for interviews.
  • Collaboration: Feel free to contribute by adding more solutions or improving existing ones.

How to Use

  1. Clone the Repository:
    git clone https://github.com/mohitkumhar/leetcode_solution.git
    

Contributing

Contributions are welcome! If you have a better solution, an optimization, or a new problem to add, please feel free to create a pull request.

Connect

Let's connect! Find me on LinkedIn

LeetCode Topics

Array

Problem Name Difficulty
0001-two-sum Easy
0004-median-of-two-sorted-arrays Hard
0015-3sum Medium
0018-4sum Medium
0026-remove-duplicates-from-sorted-array Easy
0031-next-permutation Medium
0033-search-in-rotated-sorted-array Medium
0034-find-first-and-last-position-of-element-in-sorted-array Medium
0035-search-insert-position Easy
0037-sudoku-solver Hard
0040-combination-sum-ii Medium
0041-first-missing-positive Hard
0046-permutations Medium
0047-permutations-ii Medium
0048-rotate-image Medium
0053-maximum-subarray Medium
0054-spiral-matrix Medium
0055-jump-game Medium
0056-merge-intervals Medium
0063-unique-paths-ii Medium
0064-minimum-path-sum Medium
0068-text-justification Hard
0073-set-matrix-zeroes Medium
0075-sort-colors Medium
0079-word-search Medium
0081-search-in-rotated-sorted-array-ii Medium
0084-largest-rectangle-in-histogram Hard
0085-maximal-rectangle Hard
0088-merge-sorted-array Easy
0118-pascals-triangle Easy
0119-pascals-triangle-ii Easy
0121-best-time-to-buy-and-sell-stock Easy
0128-longest-consecutive-sequence Medium
0135-candy Hard
0136-single-number Easy
0139-word-break Medium
0140-word-break-ii Hard
0152-maximum-product-subarray Medium
0153-find-minimum-in-rotated-sorted-array Medium
0162-find-peak-element Medium
0169-majority-element Easy
0174-dungeon-game Hard
0189-rotate-array Medium
0198-house-robber Medium
0213-house-robber-ii Medium
0229-majority-element-ii Medium
0268-missing-number Easy
0283-move-zeroes Easy
0287-find-the-duplicate-number Medium
0300-longest-increasing-subsequence Medium
0368-largest-divisible-subset Medium
0377-combination-sum-iv Medium
0378-kth-smallest-element-in-a-sorted-matrix Medium
0410-split-array-largest-sum Hard
0416-partition-equal-subset-sum Medium
0472-concatenated-words Hard
0485-max-consecutive-ones Easy
0486-predict-the-winner Medium
0491-non-decreasing-subsequences Medium
0493-reverse-pairs Hard
0540-single-element-in-a-sorted-array Medium
0542-01-matrix Medium
0560-subarray-sum-equals-k Medium
0628-maximum-product-of-three-numbers Easy
0646-maximum-length-of-pair-chain Medium
0679-24-game Hard
0704-binary-search Easy
0778-swim-in-rising-water Hard
0839-similar-string-groups Hard
0875-koko-eating-bananas Medium
0877-stone-game Medium
0931-minimum-falling-path-sum Medium
0956-tallest-billboard Hard
0980-unique-paths-iii Hard
0994-rotting-oranges Medium
1011-capacity-to-ship-packages-within-d-days Medium
1048-longest-string-chain Medium
1140-stone-game-ii Medium
1219-path-with-maximum-gold Medium
1255-maximum-score-words-formed-by-letters Hard
1260-shift-2d-grid Easy
1283-find-the-smallest-divisor-given-a-threshold Medium
1288-remove-covered-intervals Medium
1301-number-of-paths-with-max-score Hard
1331-rank-transform-of-an-array Easy
1386-cinema-seat-allocation Medium
1406-stone-game-iii Hard
1464-maximum-product-of-two-elements-in-an-array Easy
1482-minimum-number-of-days-to-make-m-bouquets Medium
1539-kth-missing-positive-number Easy
1594-maximum-non-negative-product-in-a-matrix Medium
1601-maximum-number-of-achievable-transfer-requests Hard
1752-check-if-array-is-sorted-and-rotated Easy
1765-map-of-highest-peak Medium
1833-maximum-ice-cream-bars Medium
1838-frequency-of-the-most-frequent-element Medium
1846-maximum-element-after-decreasing-and-rearranging Medium
1911-maximum-alternating-subsequence-sum Medium
1926-nearest-exit-from-entrance-in-maze Medium
1967-number-of-strings-that-appear-as-substrings-in-word Easy
1979-find-greatest-common-divisor-of-array Easy
2149-rearrange-array-elements-by-sign Medium
2246-longest-path-with-different-adjacent-characters Hard
2279-maximum-bags-with-full-capacity-of-rocks Medium
2305-fair-distribution-of-cookies Medium
2366-minimum-replacements-to-sort-the-array Hard
2597-the-number-of-beautiful-subsets Medium
2812-find-the-safest-path-in-a-grid Medium
2958-length-of-longest-subarray-with-at-most-k-frequency Medium
2965-find-missing-and-repeated-values Easy
2996-smallest-missing-integer-greater-than-sequential-prefix-sum Easy
3020-find-the-maximum-number-of-elements-in-subset Medium
3069-distribute-elements-into-two-arrays-i Easy
3116-kth-smallest-amount-with-single-denomination-combination Hard
3286-find-a-safe-walk-through-a-grid Medium
3312-sorted-gcd-pair-queries Hard
3336-find-the-number-of-subsequences-with-equal-gcd Hard
3363-find-the-maximum-number-of-fruits-collected Hard
3513-number-of-unique-xor-triplets-i Medium
3514-number-of-unique-xor-triplets-ii Medium
3532-path-existence-queries-in-a-graph-i Medium
3534-path-existence-queries-in-a-graph-ii Hard
3620-network-recovery-pathways Hard
3702-longest-subsequence-with-non-zero-bitwise-xor Medium
3718-smallest-missing-multiple-of-k Easy
3731-find-missing-elements Easy
3737-count-subarrays-with-majority-element-i Medium
3739-count-subarrays-with-majority-element-ii Hard
3867-sum-of-gcd-of-formed-pairs Medium

Breadth-First Search

Problem Name Difficulty
0133-clone-graph Medium
0433-minimum-genetic-mutation Medium
0542-01-matrix Medium
0778-swim-in-rising-water Hard
0787-cheapest-flights-within-k-stops Medium
0797-all-paths-from-source-to-target Medium
0839-similar-string-groups Hard
0841-keys-and-rooms Medium
0886-possible-bipartition Medium
0994-rotting-oranges Medium
1443-minimum-time-to-collect-all-apples-in-a-tree Medium
1466-reorder-routes-to-make-all-paths-lead-to-the-city-zero Medium
1519-number-of-nodes-in-the-sub-tree-with-the-same-label Medium
1765-map-of-highest-peak Medium
1926-nearest-exit-from-entrance-in-maze Medium
1971-find-if-path-exists-in-graph Easy
2316-count-unreachable-pairs-of-nodes-in-an-undirected-graph Medium
2492-minimum-score-of-a-path-between-two-cities Medium
2812-find-the-safest-path-in-a-grid Medium
3286-find-a-safe-walk-through-a-grid Medium
3310-remove-methods-from-project Medium

Matrix

Problem Name Difficulty
0037-sudoku-solver Hard
0048-rotate-image Medium
0054-spiral-matrix Medium
0063-unique-paths-ii Medium
0064-minimum-path-sum Medium
0073-set-matrix-zeroes Medium
0079-word-search Medium
0085-maximal-rectangle Hard
0174-dungeon-game Hard
0378-kth-smallest-element-in-a-sorted-matrix Medium
0542-01-matrix Medium
0778-swim-in-rising-water Hard
0931-minimum-falling-path-sum Medium
0980-unique-paths-iii Hard
0994-rotting-oranges Medium
1219-path-with-maximum-gold Medium
1260-shift-2d-grid Easy
1301-number-of-paths-with-max-score Hard
1594-maximum-non-negative-product-in-a-matrix Medium
1765-map-of-highest-peak Medium
1926-nearest-exit-from-entrance-in-maze Medium
2812-find-the-safest-path-in-a-grid Medium
2965-find-missing-and-repeated-values Easy
3286-find-a-safe-walk-through-a-grid Medium
3363-find-the-maximum-number-of-fruits-collected Hard

Dynamic Programming

Problem Name Difficulty
0005-longest-palindromic-substring Medium
0053-maximum-subarray Medium
0055-jump-game Medium
0062-unique-paths Medium
0063-unique-paths-ii Medium
0064-minimum-path-sum Medium
0070-climbing-stairs Easy
0072-edit-distance Medium
0085-maximal-rectangle Hard
0115-distinct-subsequences Hard
0118-pascals-triangle Easy
0119-pascals-triangle-ii Easy
0121-best-time-to-buy-and-sell-stock Easy
0131-palindrome-partitioning Medium
0132-palindrome-partitioning-ii Hard
0139-word-break Medium
0140-word-break-ii Hard
0152-maximum-product-subarray Medium
0174-dungeon-game Hard
0198-house-robber Medium
0213-house-robber-ii Medium
0300-longest-increasing-subsequence Medium
0368-largest-divisible-subset Medium
0377-combination-sum-iv Medium
0410-split-array-largest-sum Hard
0416-partition-equal-subset-sum Medium
0472-concatenated-words Hard
0486-predict-the-winner Medium
0509-fibonacci-number Easy
0516-longest-palindromic-subsequence Medium
0542-01-matrix Medium
0646-maximum-length-of-pair-chain Medium
0647-palindromic-substrings Medium
0787-cheapest-flights-within-k-stops Medium
0877-stone-game Medium
0931-minimum-falling-path-sum Medium
0956-tallest-billboard Hard
1048-longest-string-chain Medium
1092-shortest-common-supersequence Hard
1140-stone-game-ii Medium
1143-longest-common-subsequence Medium
1255-maximum-score-words-formed-by-letters Hard
1301-number-of-paths-with-max-score Hard
1312-minimum-insertion-steps-to-make-a-string-palindrome Hard
1406-stone-game-iii Hard
1411-number-of-ways-to-paint-n-3-grid Hard
1420-build-array-where-you-can-find-the-maximum-exactly-k-comparisons Hard
1510-stone-game-iv Hard
1594-maximum-non-negative-product-in-a-matrix Medium
1911-maximum-alternating-subsequence-sum Medium
2305-fair-distribution-of-cookies Medium
2597-the-number-of-beautiful-subsets Medium
3302-find-the-lexicographically-smallest-valid-sequence Medium
3336-find-the-number-of-subsequences-with-equal-gcd Hard
3363-find-the-maximum-number-of-fruits-collected Hard
3534-path-existence-queries-in-a-graph-ii Hard
3620-network-recovery-pathways Hard

Hash Table

Problem Name Difficulty
0001-two-sum Easy
0017-letter-combinations-of-a-phone-number Medium
0037-sudoku-solver Hard
0041-first-missing-positive Hard
0073-set-matrix-zeroes Medium
0128-longest-consecutive-sequence Medium
0133-clone-graph Medium
0139-word-break Medium
0140-word-break-ii Hard
0169-majority-element Easy
0229-majority-element-ii Medium
0268-missing-number Easy
0352-data-stream-as-disjoint-intervals Hard
0433-minimum-genetic-mutation Medium
0491-non-decreasing-subsequences Medium
0560-subarray-sum-equals-k Medium
0839-similar-string-groups Hard
0947-most-stones-removed-with-same-row-or-column Medium
1048-longest-string-chain Medium
1079-letter-tile-possibilities Medium
1189-maximum-number-of-balloons Easy
1255-maximum-score-words-formed-by-letters Hard
1331-rank-transform-of-an-array Easy
1358-number-of-substrings-containing-all-three-characters Medium
1386-cinema-seat-allocation Medium
1443-minimum-time-to-collect-all-apples-in-a-tree Medium
1519-number-of-nodes-in-the-sub-tree-with-the-same-label Medium
1593-split-a-string-into-the-max-number-of-unique-substrings Medium
2597-the-number-of-beautiful-subsets Medium
2958-length-of-longest-subarray-with-at-most-k-frequency Medium
2965-find-missing-and-repeated-values Easy
2996-smallest-missing-integer-greater-than-sequential-prefix-sum Easy
3016-minimum-number-of-pushes-to-type-word-ii Medium
3020-find-the-maximum-number-of-elements-in-subset Medium
3090-maximum-length-substring-with-two-occurrences Easy
3312-sorted-gcd-pair-queries Hard
3532-path-existence-queries-in-a-graph-i Medium
3718-smallest-missing-multiple-of-k Easy
3731-find-missing-elements Easy
3737-count-subarrays-with-majority-element-i Medium
3739-count-subarrays-with-majority-element-ii Hard

String

Problem Name Difficulty
0005-longest-palindromic-substring Medium
0017-letter-combinations-of-a-phone-number Medium
0068-text-justification Hard
0072-edit-distance Medium
0079-word-search Medium
0115-distinct-subsequences Hard
0125-valid-palindrome Easy
0131-palindrome-partitioning Medium
0132-palindrome-partitioning-ii Hard
0139-word-break Medium
0140-word-break-ii Hard
0224-basic-calculator Hard
0344-reverse-string Easy
0433-minimum-genetic-mutation Medium
0472-concatenated-words Hard
0516-longest-palindromic-subsequence Medium
0647-palindromic-substrings Medium
0761-special-binary-string Hard
0796-rotate-string Easy
0839-similar-string-groups Hard
1048-longest-string-chain Medium
1061-lexicographically-smallest-equivalent-string Medium
1079-letter-tile-possibilities Medium
1081-smallest-subsequence-of-distinct-characters Medium
1092-shortest-common-supersequence Hard
1143-longest-common-subsequence Medium
1189-maximum-number-of-balloons Easy
1255-maximum-score-words-formed-by-letters Hard
1312-minimum-insertion-steps-to-make-a-string-palindrome Hard
1358-number-of-substrings-containing-all-three-characters Medium
1392-longest-happy-prefix Hard
1415-the-k-th-lexicographical-string-of-all-happy-strings-of-length-n Medium
1593-split-a-string-into-the-max-number-of-unique-substrings Medium
1967-number-of-strings-that-appear-as-substrings-in-word Easy
2246-longest-path-with-different-adjacent-characters Hard
2904-shortest-and-lexicographically-smallest-beautiful-string Medium
3014-minimum-number-of-pushes-to-type-word-i Easy
3016-minimum-number-of-pushes-to-type-word-ii Medium
3090-maximum-length-substring-with-two-occurrences Easy
3302-find-the-lexicographically-smallest-valid-sequence Medium
3348-smallest-divisible-digit-product-ii Hard
3499-maximize-active-section-with-trade-i Medium
3517-smallest-palindromic-rearrangement-i Medium
3756-concatenate-non-zero-digits-and-multiply-by-sum-ii Medium

Depth-First Search

Problem Name Difficulty
0079-word-search Medium
0133-clone-graph Medium
0472-concatenated-words Hard
0778-swim-in-rising-water Hard
0787-cheapest-flights-within-k-stops Medium
0797-all-paths-from-source-to-target Medium
0839-similar-string-groups Hard
0841-keys-and-rooms Medium
0886-possible-bipartition Medium
0947-most-stones-removed-with-same-row-or-column Medium
1443-minimum-time-to-collect-all-apples-in-a-tree Medium
1466-reorder-routes-to-make-all-paths-lead-to-the-city-zero Medium
1519-number-of-nodes-in-the-sub-tree-with-the-same-label Medium
1971-find-if-path-exists-in-graph Easy
2246-longest-path-with-different-adjacent-characters Hard
2316-count-unreachable-pairs-of-nodes-in-an-undirected-graph Medium
2359-find-closest-node-to-given-two-nodes Medium
2492-minimum-score-of-a-path-between-two-cities Medium
3310-remove-methods-from-project Medium

Union-Find

Problem Name Difficulty
0128-longest-consecutive-sequence Medium
0352-data-stream-as-disjoint-intervals Hard
0778-swim-in-rising-water Hard
0839-similar-string-groups Hard
0886-possible-bipartition Medium
0947-most-stones-removed-with-same-row-or-column Medium
1061-lexicographically-smallest-equivalent-string Medium
1971-find-if-path-exists-in-graph Easy
2316-count-unreachable-pairs-of-nodes-in-an-undirected-graph Medium
2492-minimum-score-of-a-path-between-two-cities Medium
2812-find-the-safest-path-in-a-grid Medium
3532-path-existence-queries-in-a-graph-i Medium

Graph Theory

Problem Name Difficulty
0133-clone-graph Medium
0787-cheapest-flights-within-k-stops Medium
0797-all-paths-from-source-to-target Medium
0841-keys-and-rooms Medium
0886-possible-bipartition Medium
0947-most-stones-removed-with-same-row-or-column Medium
1466-reorder-routes-to-make-all-paths-lead-to-the-city-zero Medium
1557-minimum-number-of-vertices-to-reach-all-nodes Medium
1971-find-if-path-exists-in-graph Easy
2246-longest-path-with-different-adjacent-characters Hard
2316-count-unreachable-pairs-of-nodes-in-an-undirected-graph Medium
2359-find-closest-node-to-given-two-nodes Medium
2492-minimum-score-of-a-path-between-two-cities Medium
3286-find-a-safe-walk-through-a-grid Medium
3310-remove-methods-from-project Medium
3532-path-existence-queries-in-a-graph-i Medium
3534-path-existence-queries-in-a-graph-ii Hard
3620-network-recovery-pathways Hard

Counting

Problem Name Difficulty
0169-majority-element Easy
0229-majority-element-ii Medium
1079-letter-tile-possibilities Medium
1189-maximum-number-of-balloons Easy
1255-maximum-score-words-formed-by-letters Hard
1519-number-of-nodes-in-the-sub-tree-with-the-same-label Medium
3016-minimum-number-of-pushes-to-type-word-ii Medium
3312-sorted-gcd-pair-queries Hard
3737-count-subarrays-with-majority-element-i Medium

Backtracking

Problem Name Difficulty
0017-letter-combinations-of-a-phone-number Medium
0037-sudoku-solver Hard
0040-combination-sum-ii Medium
0046-permutations Medium
0047-permutations-ii Medium
0052-n-queens-ii Hard
0077-combinations Medium
0079-word-search Medium
0131-palindrome-partitioning Medium
0140-word-break-ii Hard
0491-non-decreasing-subsequences Medium
0679-24-game Hard
0797-all-paths-from-source-to-target Medium
0980-unique-paths-iii Hard
1079-letter-tile-possibilities Medium
1219-path-with-maximum-gold Medium
1255-maximum-score-words-formed-by-letters Hard
1415-the-k-th-lexicographical-string-of-all-happy-strings-of-length-n Medium
1593-split-a-string-into-the-max-number-of-unique-substrings Medium
1601-maximum-number-of-achievable-transfer-requests Hard
2305-fair-distribution-of-cookies Medium
2597-the-number-of-beautiful-subsets Medium
3348-smallest-divisible-digit-product-ii Hard

Tree

Problem Name Difficulty
1443-minimum-time-to-collect-all-apples-in-a-tree Medium
1519-number-of-nodes-in-the-sub-tree-with-the-same-label Medium
2246-longest-path-with-different-adjacent-characters Hard

Topological Sort

Problem Name Difficulty
2246-longest-path-with-different-adjacent-characters Hard
3620-network-recovery-pathways Hard

Heap (Priority Queue)

Problem Name Difficulty
0378-kth-smallest-element-in-a-sorted-matrix Medium
0778-swim-in-rising-water Hard
0787-cheapest-flights-within-k-stops Medium
1464-maximum-product-of-two-elements-in-an-array Easy
2812-find-the-safest-path-in-a-grid Medium
3286-find-a-safe-walk-through-a-grid Medium
3620-network-recovery-pathways Hard

Shortest Path

Problem Name Difficulty
0787-cheapest-flights-within-k-stops Medium
3286-find-a-safe-walk-through-a-grid Medium
3620-network-recovery-pathways Hard

Divide and Conquer

Problem Name Difficulty
0004-median-of-two-sorted-arrays Hard
0053-maximum-subarray Medium
0169-majority-element Easy
0493-reverse-pairs Hard
0761-special-binary-string Hard
3737-count-subarrays-with-majority-element-i Medium
3739-count-subarrays-with-majority-element-ii Hard

Segment Tree

Problem Name Difficulty
0493-reverse-pairs Hard
3737-count-subarrays-with-majority-element-i Medium
3739-count-subarrays-with-majority-element-ii Hard

Merge Sort

Problem Name Difficulty
0493-reverse-pairs Hard
3737-count-subarrays-with-majority-element-i Medium
3739-count-subarrays-with-majority-element-ii Hard

Prefix Sum

Problem Name Difficulty
0410-split-array-largest-sum Hard
0560-subarray-sum-equals-k Medium
1140-stone-game-ii Medium
1420-build-array-where-you-can-find-the-maximum-exactly-k-comparisons Hard
1838-frequency-of-the-most-frequent-element Medium
3312-sorted-gcd-pair-queries Hard
3737-count-subarrays-with-majority-element-i Medium
3739-count-subarrays-with-majority-element-ii Hard
3756-concatenate-non-zero-digits-and-multiply-by-sum-ii Medium

Math

Problem Name Difficulty
0007-reverse-integer Medium
0009-palindrome-number Easy
0048-rotate-image Medium
0062-unique-paths Medium
0070-climbing-stairs Easy
0189-rotate-array Medium
0224-basic-calculator Hard
0268-missing-number Easy
0368-largest-divisible-subset Medium
0486-predict-the-winner Medium
0509-fibonacci-number Easy
0628-maximum-product-of-three-numbers Easy
0679-24-game Hard
0877-stone-game Medium
1140-stone-game-ii Medium
1406-stone-game-iii Hard
1510-stone-game-iv Hard
1979-find-greatest-common-divisor-of-array Easy
2366-minimum-replacements-to-sort-the-array Hard
2597-the-number-of-beautiful-subsets Medium
2965-find-missing-and-repeated-values Easy
3014-minimum-number-of-pushes-to-type-word-i Easy
3116-kth-smallest-amount-with-single-denomination-combination Hard
3312-sorted-gcd-pair-queries Hard
3336-find-the-number-of-subsequences-with-equal-gcd Hard
3345-smallest-divisible-digit-product-i Easy
3348-smallest-divisible-digit-product-ii Hard
3513-number-of-unique-xor-triplets-i Medium
3514-number-of-unique-xor-triplets-ii Medium
3536-maximum-product-of-two-digits Easy
3622-check-divisibility-by-digit-sum-and-product Easy
3658-gcd-of-odd-and-even-sums Easy
3754-concatenate-non-zero-digits-and-multiply-by-sum-i Easy
3756-concatenate-non-zero-digits-and-multiply-by-sum-ii Medium
3867-sum-of-gcd-of-formed-pairs Medium

Recursion

Problem Name Difficulty
0025-reverse-nodes-in-k-group Hard
0203-remove-linked-list-elements Easy
0224-basic-calculator Hard
0486-predict-the-winner Medium
0509-fibonacci-number Easy

Memoization

Problem Name Difficulty
0070-climbing-stairs Easy
0139-word-break Medium
0140-word-break-ii Hard
0509-fibonacci-number Easy

Enumeration

Problem Name Difficulty
1291-sequential-digits Medium
1601-maximum-number-of-achievable-transfer-requests Hard
3020-find-the-maximum-number-of-elements-in-subset Medium
3345-smallest-divisible-digit-product-i Easy
3499-maximize-active-section-with-trade-i Medium
3514-number-of-unique-xor-triplets-ii Medium

Greedy

Problem Name Difficulty
0055-jump-game Medium
0135-candy Hard
0410-split-array-largest-sum Hard
0646-maximum-length-of-pair-chain Medium
1081-smallest-subsequence-of-distinct-characters Medium
1386-cinema-seat-allocation Medium
1833-maximum-ice-cream-bars Medium
1838-frequency-of-the-most-frequent-element Medium
1846-maximum-element-after-decreasing-and-rearranging Medium
2279-maximum-bags-with-full-capacity-of-rocks Medium
2366-minimum-replacements-to-sort-the-array Hard
3014-minimum-number-of-pushes-to-type-word-i Easy
3016-minimum-number-of-pushes-to-type-word-ii Medium
3302-find-the-lexicographically-smallest-valid-sequence Medium
3348-smallest-divisible-digit-product-ii Hard
3534-path-existence-queries-in-a-graph-ii Hard

Sorting

Problem Name Difficulty
0015-3sum Medium
0018-4sum Medium
0047-permutations-ii Medium
0056-merge-intervals Medium
0075-sort-colors Medium
0088-merge-sorted-array Easy
0169-majority-element Easy
0229-majority-element-ii Medium
0268-missing-number Easy
0368-largest-divisible-subset Medium
0378-kth-smallest-element-in-a-sorted-matrix Medium
0472-concatenated-words Hard
0628-maximum-product-of-three-numbers Easy
0646-maximum-length-of-pair-chain Medium
0761-special-binary-string Hard
1048-longest-string-chain Medium
1288-remove-covered-intervals Medium
1331-rank-transform-of-an-array Easy
1464-maximum-product-of-two-elements-in-an-array Easy
1833-maximum-ice-cream-bars Medium
1838-frequency-of-the-most-frequent-element Medium
1846-maximum-element-after-decreasing-and-rearranging Medium
2279-maximum-bags-with-full-capacity-of-rocks Medium
2597-the-number-of-beautiful-subsets Medium
2996-smallest-missing-integer-greater-than-sequential-prefix-sum Easy
3016-minimum-number-of-pushes-to-type-word-ii Medium
3517-smallest-palindromic-rearrangement-i Medium
3534-path-existence-queries-in-a-graph-ii Hard
3536-maximum-product-of-two-digits Easy
3731-find-missing-elements Easy
3867-sum-of-gcd-of-formed-pairs Medium

Sliding Window

Problem Name Difficulty
1358-number-of-substrings-containing-all-three-characters Medium
1838-frequency-of-the-most-frequent-element Medium
2904-shortest-and-lexicographically-smallest-beautiful-string Medium
2958-length-of-longest-subarray-with-at-most-k-frequency Medium
3090-maximum-length-substring-with-two-occurrences Easy

Counting Sort

Problem Name Difficulty
1833-maximum-ice-cream-bars Medium
3517-smallest-palindromic-rearrangement-i Medium

Binary Search

Problem Name Difficulty
0004-median-of-two-sorted-arrays Hard
0033-search-in-rotated-sorted-array Medium
0034-find-first-and-last-position-of-element-in-sorted-array Medium
0035-search-insert-position Easy
0081-search-in-rotated-sorted-array-ii Medium
0153-find-minimum-in-rotated-sorted-array Medium
0162-find-peak-element Medium
0268-missing-number Easy
0287-find-the-duplicate-number Medium
0300-longest-increasing-subsequence Medium
0352-data-stream-as-disjoint-intervals Hard
0378-kth-smallest-element-in-a-sorted-matrix Medium
0410-split-array-largest-sum Hard
0493-reverse-pairs Hard
0540-single-element-in-a-sorted-array Medium
0704-binary-search Easy
0778-swim-in-rising-water Hard
0875-koko-eating-bananas Medium
1011-capacity-to-ship-packages-within-d-days Medium
1283-find-the-smallest-divisor-given-a-threshold Medium
1482-minimum-number-of-days-to-make-m-bouquets Medium
1539-kth-missing-positive-number Easy
1838-frequency-of-the-most-frequent-element Medium
2812-find-the-safest-path-in-a-grid Medium
3116-kth-smallest-amount-with-single-denomination-combination Hard
3312-sorted-gcd-pair-queries Hard
3532-path-existence-queries-in-a-graph-i Medium
3534-path-existence-queries-in-a-graph-ii Hard
3620-network-recovery-pathways Hard

Two Pointers

Problem Name Difficulty
0005-longest-palindromic-substring Medium
0015-3sum Medium
0018-4sum Medium
0026-remove-duplicates-from-sorted-array Easy
0031-next-permutation Medium
0075-sort-colors Medium
0088-merge-sorted-array Easy
0125-valid-palindrome Easy
0189-rotate-array Medium
0283-move-zeroes Easy
0287-find-the-duplicate-number Medium
0344-reverse-string Easy
0647-palindromic-substrings Medium
1048-longest-string-chain Medium
2149-rearrange-array-elements-by-sign Medium
3302-find-the-lexicographically-smallest-valid-sequence Medium
3534-path-existence-queries-in-a-graph-ii Hard
3867-sum-of-gcd-of-formed-pairs Medium

Bit Manipulation

Problem Name Difficulty
0136-single-number Easy
0268-missing-number Easy
0287-find-the-duplicate-number Medium
0491-non-decreasing-subsequences Medium
0980-unique-paths-iii Hard
1255-maximum-score-words-formed-by-letters Hard
1386-cinema-seat-allocation Medium
1601-maximum-number-of-achievable-transfer-requests Hard
2305-fair-distribution-of-cookies Medium
3116-kth-smallest-amount-with-single-denomination-combination Hard
3513-number-of-unique-xor-triplets-i Medium
3514-number-of-unique-xor-triplets-ii Medium
3534-path-existence-queries-in-a-graph-ii Hard
3702-longest-subsequence-with-non-zero-bitwise-xor Medium

Combinatorics

Problem Name Difficulty
0062-unique-paths Medium
2597-the-number-of-beautiful-subsets Medium
3116-kth-smallest-amount-with-single-denomination-combination Hard
3312-sorted-gcd-pair-queries Hard

Number Theory

Problem Name Difficulty
1979-find-greatest-common-divisor-of-array Easy
3116-kth-smallest-amount-with-single-denomination-combination Hard
3312-sorted-gcd-pair-queries Hard
3336-find-the-number-of-subsequences-with-equal-gcd Hard
3348-smallest-divisible-digit-product-ii Hard
3658-gcd-of-odd-and-even-sums Easy
3867-sum-of-gcd-of-formed-pairs Medium

Simulation

Problem Name Difficulty
0054-spiral-matrix Medium
0068-text-justification Hard
1260-shift-2d-grid Easy
2149-rearrange-array-elements-by-sign Medium
3069-distribute-elements-into-two-arrays-i Easy
3867-sum-of-gcd-of-formed-pairs Medium

Trie

Problem Name Difficulty
0139-word-break Medium
0140-word-break-ii Hard
0472-concatenated-words Hard

Stack

Problem Name Difficulty
0084-largest-rectangle-in-histogram Hard
0085-maximal-rectangle Hard
0224-basic-calculator Hard
1081-smallest-subsequence-of-distinct-characters Medium

Monotonic Stack

Problem Name Difficulty
0084-largest-rectangle-in-histogram Hard
0085-maximal-rectangle Hard
1081-smallest-subsequence-of-distinct-characters Medium

String Matching

Problem Name Difficulty
0796-rotate-string Easy
1392-longest-happy-prefix Hard

Bitmask

Problem Name Difficulty
1255-maximum-score-words-formed-by-letters Hard
2305-fair-distribution-of-cookies Medium

Rolling Hash

Problem Name Difficulty
1392-longest-happy-prefix Hard

Hash Function

Problem Name Difficulty
1392-longest-happy-prefix Hard

Game Theory

Problem Name Difficulty
0486-predict-the-winner Medium
0877-stone-game Medium
1140-stone-game-ii Medium
1406-stone-game-iii Hard
1510-stone-game-iv Hard

Minimax

Problem Name Difficulty
0778-swim-in-rising-water Hard
1140-stone-game-ii Medium
1406-stone-game-iii Hard
1510-stone-game-iv Hard

Zero-Sum Game

Problem Name Difficulty
1140-stone-game-ii Medium
1406-stone-game-iii Hard
1510-stone-game-iv Hard

Quicksort

Problem Name Difficulty
0056-merge-intervals Medium
0075-sort-colors Medium

Bubble Sort

Problem Name Difficulty
0075-sort-colors Medium

Boyer–Moore Majority Vote Algorithm

Problem Name Difficulty
0169-majority-element Easy
0229-majority-element-ii Medium

Dijkstra's Algorithm

Problem Name Difficulty
0778-swim-in-rising-water Hard

Linked List

Problem Name Difficulty
0025-reverse-nodes-in-k-group Hard
0203-remove-linked-list-elements Easy

Design

Problem Name Difficulty
0352-data-stream-as-disjoint-intervals Hard

Data Stream

Problem Name Difficulty
0352-data-stream-as-disjoint-intervals Hard

Ordered Set

Problem Name Difficulty
0352-data-stream-as-disjoint-intervals Hard
0493-reverse-pairs Hard

Algorithm X

Problem Name Difficulty
0052-n-queens-ii Hard

Graph Coloring

Problem Name Difficulty
1411-number-of-ways-to-paint-n-3-grid Hard

Nim Game

Problem Name Difficulty
1510-stone-game-iv Hard

Sprague–Grundy Theorem

Problem Name Difficulty
1510-stone-game-iv Hard

Binary Indexed Tree

Problem Name Difficulty
0493-reverse-pairs Hard

Treap

Problem Name Difficulty
0493-reverse-pairs Hard

Meet in the Middle

Problem Name Difficulty
0956-tallest-billboard Hard

Knapsack Problem

Problem Name Difficulty
0956-tallest-billboard Hard

0-1 Knapsack

Problem Name Difficulty
0956-tallest-billboard Hard

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages