Skip to content

anduckhmt146/leetcode-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

leetcode-practice

Collection of LeetCode questions to ace the coding interview! - Created using LeetHub

Depth-First Search

0130-surrounded-regions
0463-island-perimeter
0695-max-area-of-island
0813-all-paths-from-source-to-target
2035-count-sub-islands
2121-find-if-path-exists-in-graph

Breadth-First Search

0130-surrounded-regions
0463-island-perimeter
0695-max-area-of-island
0813-all-paths-from-source-to-target
1036-rotting-oranges
2035-count-sub-islands
2121-find-if-path-exists-in-graph

Union Find

0130-surrounded-regions
0695-max-area-of-island
2035-count-sub-islands
2121-find-if-path-exists-in-graph

Graph

0813-all-paths-from-source-to-target
1039-find-the-town-judge
1661-minimum-number-of-vertices-to-reach-all-nodes
2121-find-if-path-exists-in-graph

Array

0130-surrounded-regions
0150-evaluate-reverse-polish-notation
0463-island-perimeter
0695-max-area-of-island
0990-verifying-an-alien-dictionary
1036-rotting-oranges
1039-find-the-town-judge
2035-count-sub-islands

Hash Table

0990-verifying-an-alien-dictionary
1039-find-the-town-judge

Backtracking

0813-all-paths-from-source-to-target

Matrix

0130-surrounded-regions
0463-island-perimeter
0695-max-area-of-island
1036-rotting-oranges
2035-count-sub-islands

String

0990-verifying-an-alien-dictionary

Math

0150-evaluate-reverse-polish-notation

Stack

0150-evaluate-reverse-polish-notation

LeetCode Topics

Array

0001-two-sum
0004-median-of-two-sorted-arrays
0011-container-with-most-water
0015-3sum
0016-3sum-closest
0018-4sum
0026-remove-duplicates-from-sorted-array
0027-remove-element
0031-next-permutation
0033-search-in-rotated-sorted-array
0034-find-first-and-last-position-of-element-in-sorted-array
0035-search-insert-position
0039-combination-sum
0040-combination-sum-ii
0041-first-missing-positive
0042-trapping-rain-water
0045-jump-game-ii
0046-permutations
0047-permutations-ii
0049-group-anagrams
0051-n-queens
0053-maximum-subarray
0055-jump-game
0056-merge-intervals
0057-insert-interval
0063-unique-paths-ii
0064-minimum-path-sum
0068-text-justification
0075-sort-colors
0078-subsets
0079-word-search
0080-remove-duplicates-from-sorted-array-ii
0084-largest-rectangle-in-histogram
0088-merge-sorted-array
0090-subsets-ii
0118-pascals-triangle
0120-triangle
0121-best-time-to-buy-and-sell-stock
0122-best-time-to-buy-and-sell-stock-ii
0123-best-time-to-buy-and-sell-stock-iii
0130-surrounded-regions
0134-gas-station
0135-candy
0136-single-number
0137-single-number-ii
0150-evaluate-reverse-polish-notation
0169-majority-element
0188-best-time-to-buy-and-sell-stock-iv
0189-rotate-array
0198-house-robber
0200-number-of-islands
0209-minimum-size-subarray-sum
0212-word-search-ii
0215-kth-largest-element-in-an-array
0216-combination-sum-iii
0218-the-skyline-problem
0221-maximal-square
0238-product-of-array-except-self
0260-single-number-iii
0268-missing-number
0274-h-index
0283-move-zeroes
0287-find-the-duplicate-number
0300-longest-increasing-subsequence
0309-best-time-to-buy-and-sell-stock-with-cooldown
0322-coin-change
0334-increasing-triplet-subsequence
0347-top-k-frequent-elements
0349-intersection-of-two-arrays
0350-intersection-of-two-arrays-ii
0373-find-k-pairs-with-smallest-sums
0376-wiggle-subsequence
0377-combination-sum-iv
0378-kth-smallest-element-in-a-sorted-matrix
0380-insert-delete-getrandom-o1
0391-perfect-rectangle
0406-queue-reconstruction-by-height
0410-split-array-largest-sum
0416-partition-equal-subset-sum
0435-non-overlapping-intervals
0436-find-right-interval
0442-find-all-duplicates-in-an-array
0448-find-all-numbers-disappeared-in-an-array
0452-minimum-number-of-arrows-to-burst-balloons
0455-assign-cookies
0456-132-pattern
0474-ones-and-zeroes
0475-heaters
0494-target-sum
0496-next-greater-element-i
0502-ipo
0503-next-greater-element-ii
0518-coin-change-ii
0522-longest-uncommon-subsequence-ii
0524-longest-word-in-dictionary-through-deleting
0532-k-diff-pairs-in-an-array
0542-01-matrix
0587-erect-the-fence
0605-can-place-flowers
0611-valid-triangle-number
0621-task-scheduler
0632-smallest-range-covering-elements-from-k-lists
0643-maximum-average-subarray-i
0646-maximum-length-of-pair-chain
0648-replace-words
0658-find-k-closest-elements
0673-number-of-longest-increasing-subsequence
0690-employee-importance
0692-top-k-frequent-words
0695-max-area-of-island
0713-subarray-product-less-than-k
0714-best-time-to-buy-and-sell-stock-with-transaction-fee
0720-longest-word-in-dictionary
0721-accounts-merge
0724-find-pivot-index
0731-my-calendar-ii
0733-flood-fill
0739-daily-temperatures
0747-min-cost-climbing-stairs
0779-max-chunks-to-make-sorted-ii
0787-sliding-puzzle
0797-rabbits-in-forest
0811-number-of-subarrays-with-bounded-maximum
0827-expressive-words
0841-shortest-distance-to-a-character
0852-friends-of-appropriate-ages
0853-most-profit-assigning-work
0861-flipping-an-image
0875-longest-mountain-in-array
0880-rectangle-area-ii
0883-car-fleet
0887-minimum-cost-to-hire-k-workers
0890-lemonade-change
0901-advantage-shuffle
0902-minimum-number-of-refueling-stops
0907-koko-eating-bananas
0917-boats-to-save-people
0940-fruit-into-baskets
0941-sort-array-by-parity
0958-sort-array-by-parity-ii
0959-3sum-with-multiplicity
0965-unique-email-addresses
0967-minimum-falling-path-sum
0979-di-string-match
0985-bag-of-tokens
1009-pancake-sorting
1014-k-closest-points-to-origin
1019-squares-of-a-sorted-array
1025-minimum-cost-for-tickets
1028-interval-list-intersections
1032-satisfiability-of-equality-equations
1036-rotting-oranges
1039-find-the-town-judge
1046-max-consecutive-ones-iii
1056-capacity-to-ship-packages-within-d-days
1073-number-of-enclaves
1080-camelcase-matching
1104-coloring-a-border
1111-minimum-score-triangulation-of-polygon
1117-as-far-from-land-as-possible
1130-last-stone-weight-ii
1139-previous-permutation-with-one-swap
1168-duplicate-zeros
1171-shortest-path-in-binary-matrix
1184-car-pooling
1222-remove-covered-intervals
1228-minimum-cost-tree-from-leaf-values
1305-number-of-visible-people-in-a-queue
1319-unique-number-of-occurrences
1331-path-with-maximum-gold
1352-maximum-profit-in-job-scheduling
1392-find-the-difference-of-two-arrays
1408-find-the-smallest-divisor-given-a-threshold
1422-divide-array-in-sets-of-k-consecutive-numbers
1435-xor-queries-of-a-subarray
1451-minimum-number-of-taps-to-open-to-water-a-garden
1464-reduce-array-size-to-the-half
1478-maximum-number-of-events-that-can-be-attended
1482-how-many-numbers-are-smaller-than-the-current-number
1486-find-the-distance-value-between-two-arrays
1487-cinema-seat-allocation
1524-string-matching-in-an-array
1528-kids-with-the-greatest-number-of-candies
1586-longest-subarray-of-1s-after-deleting-one-element
1604-least-number-of-unique-integers-after-k-removals
1605-minimum-number-of-days-to-make-m-bouquets
1621-number-of-subsequences-that-satisfy-the-given-sum-condition
1646-kth-missing-positive-number
1679-shortest-subarray-to-be-removed-to-make-array-sorted
1695-maximum-sum-obtained-of-any-permutation
1753-path-with-minimum-effort
1798-max-number-of-k-sum-pairs
1831-ways-to-split-array-into-three-subarrays
1833-find-the-highest-altitude
1881-closest-subsequence-sum
1901-equal-sum-arrays-with-minimum-number-of-operations
1917-maximum-average-pass-ratio
1923-sentence-similarity-iii
1961-maximum-ice-cream-bars
1962-single-threaded-cpu
1972-rotating-the-box
1977-minimum-interval-to-include-each-query
1983-maximum-population-year
1988-minimize-maximum-pair-sum-in-array
2000-minimum-speed-to-arrive-on-time
2005-check-if-all-the-integers-in-a-range-are-covered
2012-process-tasks-using-servers
2055-describe-the-painting
2058-concatenation-of-array
2118-maximum-earnings-from-taxi
2162-partition-array-into-two-arrays-to-minimize-sum-difference
2210-find-target-indices-after-sorting-array
2294-minimum-time-to-complete-trips
2334-number-of-flowers-in-full-bloom
2428-equal-row-and-column-pairs
2483-task-scheduler-ii
2519-find-the-original-array-of-prefix-xor
2655-rearrange-array-to-maximize-prefix-score
2727-number-of-senior-citizens
3034-points-that-intersect-with-cars

Greedy

0011-container-with-most-water
0045-jump-game-ii
0055-jump-game
0122-best-time-to-buy-and-sell-stock-ii
0134-gas-station
0135-candy
0316-remove-duplicate-letters
0334-increasing-triplet-subsequence
0376-wiggle-subsequence
0402-remove-k-digits
0410-split-array-largest-sum
0435-non-overlapping-intervals
0452-minimum-number-of-arrows-to-burst-balloons
0455-assign-cookies
0502-ipo
0605-can-place-flowers
0611-valid-triangle-number
0621-task-scheduler
0632-smallest-range-covering-elements-from-k-lists
0646-maximum-length-of-pair-chain
0670-maximum-swap
0714-best-time-to-buy-and-sell-stock-with-transaction-fee
0768-partition-labels
0778-reorganize-string
0779-max-chunks-to-make-sorted-ii
0797-rabbits-in-forest
0853-most-profit-assigning-work
0887-minimum-cost-to-hire-k-workers
0890-lemonade-change
0901-advantage-shuffle
0902-minimum-number-of-refueling-stops
0917-boats-to-save-people
0957-minimum-add-to-make-parentheses-valid
0979-di-string-match
0985-bag-of-tokens
1009-pancake-sorting
1026-string-without-aaa-or-bbb
1139-previous-permutation-with-one-swap
1228-minimum-cost-tree-from-leaf-values
1422-divide-array-in-sets-of-k-consecutive-numbers
1451-minimum-number-of-taps-to-open-to-water-a-garden
1464-reduce-array-size-to-the-half
1478-maximum-number-of-events-that-can-be-attended
1487-cinema-seat-allocation
1502-construct-k-palindrome-strings
1604-least-number-of-unique-integers-after-k-removals
1695-maximum-sum-obtained-of-any-permutation
1879-maximum-score-from-removing-stones
1880-largest-merge-of-two-strings
1901-equal-sum-arrays-with-minimum-number-of-operations
1917-maximum-average-pass-ratio
1961-maximum-ice-cream-bars
1978-minimum-adjacent-swaps-to-reach-the-kth-smallest-number
1988-minimize-maximum-pair-sum-in-array
2572-append-characters-to-string-to-make-subsequence
2655-rearrange-array-to-maximize-prefix-score

Sorting

0015-3sum
0016-3sum-closest
0018-4sum
0047-permutations-ii
0049-group-anagrams
0056-merge-intervals
0075-sort-colors
0088-merge-sorted-array
0148-sort-list
0169-majority-element
0215-kth-largest-element-in-an-array
0268-missing-number
0274-h-index
0295-find-median-from-data-stream
0347-top-k-frequent-elements
0349-intersection-of-two-arrays
0350-intersection-of-two-arrays-ii
0378-kth-smallest-element-in-a-sorted-matrix
0406-queue-reconstruction-by-height
0435-non-overlapping-intervals
0436-find-right-interval
0451-sort-characters-by-frequency
0452-minimum-number-of-arrows-to-burst-balloons
0455-assign-cookies
0475-heaters
0502-ipo
0522-longest-uncommon-subsequence-ii
0524-longest-word-in-dictionary-through-deleting
0532-k-diff-pairs-in-an-array
0611-valid-triangle-number
0621-task-scheduler
0632-smallest-range-covering-elements-from-k-lists
0646-maximum-length-of-pair-chain
0658-find-k-closest-elements
0692-top-k-frequent-words
0720-longest-word-in-dictionary
0721-accounts-merge
0778-reorganize-string
0779-max-chunks-to-make-sorted-ii
0852-friends-of-appropriate-ages
0853-most-profit-assigning-work
0883-car-fleet
0887-minimum-cost-to-hire-k-workers
0901-advantage-shuffle
0917-boats-to-save-people
0941-sort-array-by-parity
0958-sort-array-by-parity-ii
0959-3sum-with-multiplicity
0985-bag-of-tokens
1009-pancake-sorting
1014-k-closest-points-to-origin
1019-squares-of-a-sorted-array
1184-car-pooling
1222-remove-covered-intervals
1352-maximum-profit-in-job-scheduling
1422-divide-array-in-sets-of-k-consecutive-numbers
1464-reduce-array-size-to-the-half
1478-maximum-number-of-events-that-can-be-attended
1482-how-many-numbers-are-smaller-than-the-current-number
1486-find-the-distance-value-between-two-arrays
1604-least-number-of-unique-integers-after-k-removals
1621-number-of-subsequences-that-satisfy-the-given-sum-condition
1695-maximum-sum-obtained-of-any-permutation
1777-determine-if-two-strings-are-close
1798-max-number-of-k-sum-pairs
1881-closest-subsequence-sum
1961-maximum-ice-cream-bars
1962-single-threaded-cpu
1977-minimum-interval-to-include-each-query
1988-minimize-maximum-pair-sum-in-array
2055-describe-the-painting
2118-maximum-earnings-from-taxi
2210-find-target-indices-after-sorting-array
2334-number-of-flowers-in-full-bloom
2655-rearrange-array-to-maximize-prefix-score

Prefix Sum

0209-minimum-size-subarray-sum
0238-product-of-array-except-self
0410-split-array-largest-sum
0713-subarray-product-less-than-k
0724-find-pivot-index
0731-my-calendar-ii
0732-my-calendar-iii
1046-max-consecutive-ones-iii
1184-car-pooling
1435-xor-queries-of-a-subarray
1695-maximum-sum-obtained-of-any-permutation
1831-ways-to-split-array-into-three-subarrays
1833-find-the-highest-altitude
1983-maximum-population-year
2005-check-if-all-the-integers-in-a-range-are-covered
2055-describe-the-painting
2334-number-of-flowers-in-full-bloom
2655-rearrange-array-to-maximize-prefix-score
3034-points-that-intersect-with-cars

Database

1301-reformat-department-table

Depth-First Search

0079-word-search
0104-maximum-depth-of-binary-tree
0111-minimum-depth-of-binary-tree
0112-path-sum
0113-path-sum-ii
0116-populating-next-right-pointers-in-each-node
0117-populating-next-right-pointers-in-each-node-ii
0124-binary-tree-maximum-path-sum
0129-sum-root-to-leaf-numbers
0130-surrounded-regions
0133-clone-graph
0199-binary-tree-right-side-view
0200-number-of-islands
0207-course-schedule
0210-course-schedule-ii
0211-design-add-and-search-words-data-structure
0235-lowest-common-ancestor-of-a-binary-search-tree
0236-lowest-common-ancestor-of-a-binary-tree
0257-binary-tree-paths
0437-path-sum-iii
0449-serialize-and-deserialize-bst
0543-diameter-of-binary-tree
0547-number-of-provinces
0563-binary-tree-tilt
0637-average-of-levels-in-binary-tree
0653-two-sum-iv-input-is-a-bst
0684-redundant-connection
0690-employee-importance
0695-max-area-of-island
0721-accounts-merge
0733-flood-fill
0744-network-delay-time
0801-is-graph-bipartite
0803-cheapest-flights-within-k-stops
0820-find-eventual-safe-states
0871-keys-and-rooms
0922-possible-bipartition
0984-most-stones-removed-with-same-row-or-column
1073-number-of-enclaves
1092-maximum-difference-between-node-and-ancestor
1104-coloring-a-border
1116-maximum-level-sum-of-a-binary-tree
1218-lowest-common-ancestor-of-deepest-leaves
1296-kth-ancestor-of-a-tree-node
1300-critical-connections-in-a-network
1442-number-of-operations-to-make-network-connected
1492-time-needed-to-inform-all-employees
1544-count-good-nodes-in-binary-tree
1576-reorder-routes-to-make-all-paths-lead-to-the-city-zero
1753-path-with-minimum-effort
2121-find-if-path-exists-in-graph
2439-longest-cycle-in-a-graph

Breadth-First Search

0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0104-maximum-depth-of-binary-tree
0107-binary-tree-level-order-traversal-ii
0111-minimum-depth-of-binary-tree
0112-path-sum
0116-populating-next-right-pointers-in-each-node
0117-populating-next-right-pointers-in-each-node-ii
0130-surrounded-regions
0133-clone-graph
0199-binary-tree-right-side-view
0200-number-of-islands
0207-course-schedule
0210-course-schedule-ii
0279-perfect-squares
0322-coin-change
0449-serialize-and-deserialize-bst
0542-01-matrix
0547-number-of-provinces
0637-average-of-levels-in-binary-tree
0653-two-sum-iv-input-is-a-bst
0684-redundant-connection
0690-employee-importance
0695-max-area-of-island
0721-accounts-merge
0733-flood-fill
0744-network-delay-time
0787-sliding-puzzle
0801-is-graph-bipartite
0803-cheapest-flights-within-k-stops
0820-find-eventual-safe-states
0871-keys-and-rooms
0922-possible-bipartition
1036-rotting-oranges
1073-number-of-enclaves
1104-coloring-a-border
1116-maximum-level-sum-of-a-binary-tree
1117-as-far-from-land-as-possible
1171-shortest-path-in-binary-matrix
1218-lowest-common-ancestor-of-deepest-leaves
1296-kth-ancestor-of-a-tree-node
1442-number-of-operations-to-make-network-connected
1492-time-needed-to-inform-all-employees
1544-count-good-nodes-in-binary-tree
1576-reorder-routes-to-make-all-paths-lead-to-the-city-zero
1753-path-with-minimum-effort
2121-find-if-path-exists-in-graph
2439-longest-cycle-in-a-graph

Union Find

0130-surrounded-regions
0200-number-of-islands
0547-number-of-provinces
0684-redundant-connection
0695-max-area-of-island
0721-accounts-merge
0801-is-graph-bipartite
0922-possible-bipartition
0984-most-stones-removed-with-same-row-or-column
1032-satisfiability-of-equality-equations
1073-number-of-enclaves
1442-number-of-operations-to-make-network-connected
1753-path-with-minimum-effort
2121-find-if-path-exists-in-graph

Graph

0133-clone-graph
0207-course-schedule
0210-course-schedule-ii
0547-number-of-provinces
0684-redundant-connection
0744-network-delay-time
0801-is-graph-bipartite
0803-cheapest-flights-within-k-stops
0820-find-eventual-safe-states
0871-keys-and-rooms
0922-possible-bipartition
0984-most-stones-removed-with-same-row-or-column
1032-satisfiability-of-equality-equations
1039-find-the-town-judge
1300-critical-connections-in-a-network
1442-number-of-operations-to-make-network-connected
1456-find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance
1576-reorder-routes-to-make-all-paths-lead-to-the-city-zero
1986-largest-color-value-in-a-directed-graph
2121-find-if-path-exists-in-graph
2439-longest-cycle-in-a-graph

String

0003-longest-substring-without-repeating-characters
0005-longest-palindromic-substring
0006-zigzag-conversion
0012-integer-to-roman
0013-roman-to-integer
0014-longest-common-prefix
0017-letter-combinations-of-a-phone-number
0020-valid-parentheses
0022-generate-parentheses
0028-find-the-index-of-the-first-occurrence-in-a-string
0032-longest-valid-parentheses
0049-group-anagrams
0058-length-of-last-word
0068-text-justification
0072-edit-distance
0076-minimum-window-substring
0079-word-search
0097-interleaving-string
0115-distinct-subsequences
0125-valid-palindrome
0131-palindrome-partitioning
0132-palindrome-partitioning-ii
0151-reverse-words-in-a-string
0165-compare-version-numbers
0187-repeated-dna-sequences
0205-isomorphic-strings
0208-implement-trie-prefix-tree
0211-design-add-and-search-words-data-structure
0212-word-search-ii
0224-basic-calculator
0227-basic-calculator-ii
0257-binary-tree-paths
0316-remove-duplicate-letters
0344-reverse-string
0345-reverse-vowels-of-a-string
0392-is-subsequence
0402-remove-k-digits
0424-longest-repeating-character-replacement
0438-find-all-anagrams-in-a-string
0443-string-compression
0449-serialize-and-deserialize-bst
0451-sort-characters-by-frequency
0468-validate-ip-address
0474-ones-and-zeroes
0481-magical-string
0516-longest-palindromic-subsequence
0522-longest-uncommon-subsequence-ii
0524-longest-word-in-dictionary-through-deleting
0541-reverse-string-ii
0556-next-greater-element-iii
0557-reverse-words-in-a-string-iii
0567-permutation-in-string
0647-palindromic-substrings
0648-replace-words
0677-map-sum-pairs
0692-top-k-frequent-words
0696-count-binary-substrings
0720-longest-word-in-dictionary
0721-accounts-merge
0768-partition-labels
0778-reorganize-string
0793-swap-adjacent-in-lr-string
0827-expressive-words
0841-shortest-distance-to-a-character
0874-backspace-string-compare
0953-reverse-only-letters
0957-minimum-add-to-make-parentheses-valid
0961-long-pressed-name
0965-unique-email-addresses
0979-di-string-match
1026-string-without-aaa-or-bbb
1032-satisfiability-of-equality-equations
1080-camelcase-matching
1133-last-substring-in-lexicographical-order
1146-greatest-common-divisor-of-strings
1170-shortest-common-supersequence
1250-longest-common-subsequence
1298-reverse-substrings-between-each-pair-of-parentheses
1437-minimum-insertion-steps-to-make-a-string-palindrome
1502-construct-k-palindrome-strings
1524-string-matching-in-an-array
1567-maximum-number-of-vowels-in-a-substring-of-given-length
1777-determine-if-two-strings-are-close
1850-minimum-length-of-string-after-deleting-similar-ends
1880-largest-merge-of-two-strings
1894-merge-strings-alternately
1923-sentence-similarity-iii
1978-minimum-adjacent-swaps-to-reach-the-kth-smallest-number
2128-reverse-prefix-of-word
2572-append-characters-to-string-to-make-subsequence
2727-number-of-senior-citizens
3379-score-of-a-string

Stack

0020-valid-parentheses
0032-longest-valid-parentheses
0042-trapping-rain-water
0084-largest-rectangle-in-histogram
0150-evaluate-reverse-polish-notation
0155-min-stack
0224-basic-calculator
0225-implement-stack-using-queues
0227-basic-calculator-ii
0232-implement-queue-using-stacks
0316-remove-duplicate-letters
0402-remove-k-digits
0456-132-pattern
0496-next-greater-element-i
0503-next-greater-element-ii
0739-daily-temperatures
0779-max-chunks-to-make-sorted-ii
0874-backspace-string-compare
0883-car-fleet
0931-maximum-frequency-stack
0937-online-stock-span
0957-minimum-add-to-make-parentheses-valid
1228-minimum-cost-tree-from-leaf-values
1298-reverse-substrings-between-each-pair-of-parentheses
1305-number-of-visible-people-in-a-queue
1679-shortest-subarray-to-be-removed-to-make-array-sorted
2128-reverse-prefix-of-word

Backtracking

0017-letter-combinations-of-a-phone-number
0022-generate-parentheses
0039-combination-sum
0040-combination-sum-ii
0046-permutations
0047-permutations-ii
0051-n-queens
0077-combinations
0078-subsets
0079-word-search
0089-gray-code
0090-subsets-ii
0113-path-sum-ii
0131-palindrome-partitioning
0212-word-search-ii
0216-combination-sum-iii
0257-binary-tree-paths
0494-target-sum
0787-sliding-puzzle
1331-path-with-maximum-gold
1359-circular-permutation-in-binary-representation

Hash Table

0001-two-sum
0003-longest-substring-without-repeating-characters
0012-integer-to-roman
0013-roman-to-integer
0017-letter-combinations-of-a-phone-number
0041-first-missing-positive
0049-group-anagrams
0076-minimum-window-substring
0133-clone-graph
0141-linked-list-cycle
0146-lru-cache
0160-intersection-of-two-linked-lists
0169-majority-element
0187-repeated-dna-sequences
0205-isomorphic-strings
0208-implement-trie-prefix-tree
0264-ugly-number-ii
0268-missing-number
0347-top-k-frequent-elements
0349-intersection-of-two-arrays
0350-intersection-of-two-arrays-ii
0380-insert-delete-getrandom-o1
0424-longest-repeating-character-replacement
0438-find-all-anagrams-in-a-string
0442-find-all-duplicates-in-an-array
0448-find-all-numbers-disappeared-in-an-array
0451-sort-characters-by-frequency
0496-next-greater-element-i
0522-longest-uncommon-subsequence-ii
0532-k-diff-pairs-in-an-array
0567-permutation-in-string
0621-task-scheduler
0632-smallest-range-covering-elements-from-k-lists
0648-replace-words
0653-two-sum-iv-input-is-a-bst
0677-map-sum-pairs
0690-employee-importance
0692-top-k-frequent-words
0720-longest-word-in-dictionary
0721-accounts-merge
0768-partition-labels
0778-reorganize-string
0797-rabbits-in-forest
0931-maximum-frequency-stack
0940-fruit-into-baskets
0959-3sum-with-multiplicity
0965-unique-email-addresses
0984-most-stones-removed-with-same-row-or-column
1039-find-the-town-judge
1218-lowest-common-ancestor-of-deepest-leaves
1319-unique-number-of-occurrences
1392-find-the-difference-of-two-arrays
1422-divide-array-in-sets-of-k-consecutive-numbers
1464-reduce-array-size-to-the-half
1482-how-many-numbers-are-smaller-than-the-current-number
1487-cinema-seat-allocation
1500-count-largest-group
1502-construct-k-palindrome-strings
1604-least-number-of-unique-integers-after-k-removals
1777-determine-if-two-strings-are-close
1798-max-number-of-k-sum-pairs
1901-equal-sum-arrays-with-minimum-number-of-operations
1986-largest-color-value-in-a-directed-graph
2005-check-if-all-the-integers-in-a-range-are-covered
2055-describe-the-painting
2118-maximum-earnings-from-taxi
2334-number-of-flowers-in-full-bloom
2428-equal-row-and-column-pairs
2483-task-scheduler-ii
3034-points-that-intersect-with-cars

Design

0146-lru-cache
0155-min-stack
0208-implement-trie-prefix-tree
0211-design-add-and-search-words-data-structure
0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0295-find-median-from-data-stream
0380-insert-delete-getrandom-o1
0449-serialize-and-deserialize-bst
0677-map-sum-pairs
0731-my-calendar-ii
0732-my-calendar-iii
0789-kth-largest-element-in-a-stream
0931-maximum-frequency-stack
0937-online-stock-span
1296-kth-ancestor-of-a-tree-node

Trie

0014-longest-common-prefix
0208-implement-trie-prefix-tree
0211-design-add-and-search-words-data-structure
0212-word-search-ii
0648-replace-words
0677-map-sum-pairs
0692-top-k-frequent-words
0720-longest-word-in-dictionary
1080-camelcase-matching

Linked List

0019-remove-nth-node-from-end-of-list
0023-merge-k-sorted-lists
0061-rotate-list
0082-remove-duplicates-from-sorted-list-ii
0086-partition-list
0116-populating-next-right-pointers-in-each-node
0117-populating-next-right-pointers-in-each-node-ii
0141-linked-list-cycle
0146-lru-cache
0148-sort-list
0160-intersection-of-two-linked-lists

Two Pointers

0005-longest-palindromic-substring
0011-container-with-most-water
0015-3sum
0016-3sum-closest
0018-4sum
0019-remove-nth-node-from-end-of-list
0026-remove-duplicates-from-sorted-array
0027-remove-element
0028-find-the-index-of-the-first-occurrence-in-a-string
0031-next-permutation
0042-trapping-rain-water
0061-rotate-list
0075-sort-colors
0080-remove-duplicates-from-sorted-array-ii
0082-remove-duplicates-from-sorted-list-ii
0086-partition-list
0088-merge-sorted-array
0125-valid-palindrome
0141-linked-list-cycle
0148-sort-list
0151-reverse-words-in-a-string
0160-intersection-of-two-linked-lists
0165-compare-version-numbers
0189-rotate-array
0283-move-zeroes
0287-find-the-duplicate-number
0295-find-median-from-data-stream
0344-reverse-string
0345-reverse-vowels-of-a-string
0349-intersection-of-two-arrays
0350-intersection-of-two-arrays-ii
0392-is-subsequence
0443-string-compression
0455-assign-cookies
0475-heaters
0481-magical-string
0522-longest-uncommon-subsequence-ii
0524-longest-word-in-dictionary-through-deleting
0532-k-diff-pairs-in-an-array
0541-reverse-string-ii
0556-next-greater-element-iii
0557-reverse-words-in-a-string-iii
0567-permutation-in-string
0611-valid-triangle-number
0633-sum-of-square-numbers
0647-palindromic-substrings
0653-two-sum-iv-input-is-a-bst
0658-find-k-closest-elements
0696-count-binary-substrings
0768-partition-labels
0793-swap-adjacent-in-lr-string
0811-number-of-subarrays-with-bounded-maximum
0827-expressive-words
0841-shortest-distance-to-a-character
0852-friends-of-appropriate-ages
0853-most-profit-assigning-work
0861-flipping-an-image
0874-backspace-string-compare
0875-longest-mountain-in-array
0901-advantage-shuffle
0917-boats-to-save-people
0941-sort-array-by-parity
0953-reverse-only-letters
0958-sort-array-by-parity-ii
0959-3sum-with-multiplicity
0961-long-pressed-name
0979-di-string-match
0985-bag-of-tokens
1009-pancake-sorting
1019-squares-of-a-sorted-array
1028-interval-list-intersections
1080-camelcase-matching
1133-last-substring-in-lexicographical-order
1168-duplicate-zeros
1486-find-the-distance-value-between-two-arrays
1621-number-of-subsequences-that-satisfy-the-given-sum-condition
1679-shortest-subarray-to-be-removed-to-make-array-sorted
1798-max-number-of-k-sum-pairs
1831-ways-to-split-array-into-three-subarrays
1850-minimum-length-of-string-after-deleting-similar-ends
1880-largest-merge-of-two-strings
1881-closest-subsequence-sum
1894-merge-strings-alternately
1923-sentence-similarity-iii
1972-rotating-the-box
1978-minimum-adjacent-swaps-to-reach-the-kth-smallest-number
1988-minimize-maximum-pair-sum-in-array
2128-reverse-prefix-of-word
2162-partition-array-into-two-arrays-to-minimize-sum-difference
2572-append-characters-to-string-to-make-subsequence

Dynamic Programming

0005-longest-palindromic-substring
0022-generate-parentheses
0032-longest-valid-parentheses
0042-trapping-rain-water
0045-jump-game-ii
0053-maximum-subarray
0055-jump-game
0062-unique-paths
0063-unique-paths-ii
0064-minimum-path-sum
0070-climbing-stairs
0072-edit-distance
0096-unique-binary-search-trees
0097-interleaving-string
0115-distinct-subsequences
0118-pascals-triangle
0120-triangle
0121-best-time-to-buy-and-sell-stock
0122-best-time-to-buy-and-sell-stock-ii
0123-best-time-to-buy-and-sell-stock-iii
0124-binary-tree-maximum-path-sum
0131-palindrome-partitioning
0132-palindrome-partitioning-ii
0188-best-time-to-buy-and-sell-stock-iv
0198-house-robber
0221-maximal-square
0264-ugly-number-ii
0279-perfect-squares
0300-longest-increasing-subsequence
0309-best-time-to-buy-and-sell-stock-with-cooldown
0322-coin-change
0375-guess-number-higher-or-lower-ii
0376-wiggle-subsequence
0377-combination-sum-iv
0392-is-subsequence
0410-split-array-largest-sum
0416-partition-equal-subset-sum
0435-non-overlapping-intervals
0474-ones-and-zeroes
0494-target-sum
0516-longest-palindromic-subsequence
0518-coin-change-ii
0542-01-matrix
0576-out-of-boundary-paths
0646-maximum-length-of-pair-chain
0647-palindromic-substrings
0650-2-keys-keyboard
0673-number-of-longest-increasing-subsequence
0688-knight-probability-in-chessboard
0714-best-time-to-buy-and-sell-stock-with-transaction-fee
0747-min-cost-climbing-stairs
0787-sliding-puzzle
0803-cheapest-flights-within-k-stops
0806-domino-and-tromino-tiling
0826-soup-servings
0875-longest-mountain-in-array
0902-minimum-number-of-refueling-stops
0967-minimum-falling-path-sum
0972-knight-dialer
1025-minimum-cost-for-tickets
1111-minimum-score-triangulation-of-polygon
1117-as-far-from-land-as-possible
1130-last-stone-weight-ii
1170-shortest-common-supersequence
1228-minimum-cost-tree-from-leaf-values
1250-longest-common-subsequence
1263-number-of-dice-rolls-with-target-sum
1296-kth-ancestor-of-a-tree-node
1352-maximum-profit-in-job-scheduling
1437-minimum-insertion-steps-to-make-a-string-palindrome
1451-minimum-number-of-taps-to-open-to-water-a-garden
1456-find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance
1586-longest-subarray-of-1s-after-deleting-one-element
1881-closest-subsequence-sum
1986-largest-color-value-in-a-directed-graph
2118-maximum-earnings-from-taxi
2162-partition-array-into-two-arrays-to-minimize-sum-difference

Sliding Window

0003-longest-substring-without-repeating-characters
0076-minimum-window-substring
0187-repeated-dna-sequences
0209-minimum-size-subarray-sum
0424-longest-repeating-character-replacement
0438-find-all-anagrams-in-a-string
0567-permutation-in-string
0632-smallest-range-covering-elements-from-k-lists
0643-maximum-average-subarray-i
0658-find-k-closest-elements
0713-subarray-product-less-than-k
0940-fruit-into-baskets
1046-max-consecutive-ones-iii
1567-maximum-number-of-vowels-in-a-substring-of-given-length
1586-longest-subarray-of-1s-after-deleting-one-element

Math

0012-integer-to-roman
0013-roman-to-integer
0050-powx-n
0062-unique-paths
0069-sqrtx
0070-climbing-stairs
0089-gray-code
0096-unique-binary-search-trees
0150-evaluate-reverse-polish-notation
0189-rotate-array
0224-basic-calculator
0227-basic-calculator-ii
0231-power-of-two
0264-ugly-number-ii
0268-missing-number
0279-perfect-squares
0326-power-of-three
0342-power-of-four
0375-guess-number-higher-or-lower-ii
0380-insert-delete-getrandom-o1
0556-next-greater-element-iii
0587-erect-the-fence
0633-sum-of-square-numbers
0650-2-keys-keyboard
0668-kth-smallest-number-in-multiplication-table
0670-maximum-swap
0797-rabbits-in-forest
0826-soup-servings
1014-k-closest-points-to-origin
1146-greatest-common-divisor-of-strings
1307-ugly-number-iii
1359-circular-permutation-in-binary-representation
1401-number-of-burgers-with-no-waste-of-ingredients
1500-count-largest-group
1879-maximum-score-from-removing-stones
3172-divisible-and-non-divisible-sums-difference

Memoization

0070-climbing-stairs
0787-sliding-puzzle
1986-largest-color-value-in-a-directed-graph

Matrix

0063-unique-paths-ii
0064-minimum-path-sum
0079-word-search
0130-surrounded-regions
0200-number-of-islands
0212-word-search-ii
0221-maximal-square
0378-kth-smallest-element-in-a-sorted-matrix
0542-01-matrix
0695-max-area-of-island
0733-flood-fill
0787-sliding-puzzle
0861-flipping-an-image
0967-minimum-falling-path-sum
1036-rotting-oranges
1073-number-of-enclaves
1104-coloring-a-border
1117-as-far-from-land-as-possible
1171-shortest-path-in-binary-matrix
1331-path-with-maximum-gold
1753-path-with-minimum-effort
1972-rotating-the-box
2428-equal-row-and-column-pairs

Bit Manipulation

0078-subsets
0089-gray-code
0090-subsets-ii
0136-single-number
0137-single-number-ii
0187-repeated-dna-sequences
0231-power-of-two
0260-single-number-iii
0268-missing-number
0287-find-the-duplicate-number
0342-power-of-four
0861-flipping-an-image
1359-circular-permutation-in-binary-representation
1435-xor-queries-of-a-subarray
1487-cinema-seat-allocation
1881-closest-subsequence-sum
2162-partition-array-into-two-arrays-to-minimize-sum-difference
2519-find-the-original-array-of-prefix-xor

Binary Search

0004-median-of-two-sorted-arrays
0033-search-in-rotated-sorted-array
0034-find-first-and-last-position-of-element-in-sorted-array
0035-search-insert-position
0069-sqrtx
0209-minimum-size-subarray-sum
0268-missing-number
0278-first-bad-version
0287-find-the-duplicate-number
0300-longest-increasing-subsequence
0349-intersection-of-two-arrays
0350-intersection-of-two-arrays-ii
0378-kth-smallest-element-in-a-sorted-matrix
0410-split-array-largest-sum
0436-find-right-interval
0456-132-pattern
0475-heaters
0532-k-diff-pairs-in-an-array
0611-valid-triangle-number
0633-sum-of-square-numbers
0658-find-k-closest-elements
0668-kth-smallest-number-in-multiplication-table
0713-subarray-product-less-than-k
0731-my-calendar-ii
0732-my-calendar-iii
0852-friends-of-appropriate-ages
0853-most-profit-assigning-work
0907-koko-eating-bananas
1046-max-consecutive-ones-iii
1056-capacity-to-ship-packages-within-d-days
1296-kth-ancestor-of-a-tree-node
1307-ugly-number-iii
1352-maximum-profit-in-job-scheduling
1408-find-the-smallest-divisor-given-a-threshold
1486-find-the-distance-value-between-two-arrays
1605-minimum-number-of-days-to-make-m-bouquets
1621-number-of-subsequences-that-satisfy-the-given-sum-condition
1646-kth-missing-positive-number
1679-shortest-subarray-to-be-removed-to-make-array-sorted
1753-path-with-minimum-effort
1831-ways-to-split-array-into-three-subarrays
1977-minimum-interval-to-include-each-query
2000-minimum-speed-to-arrive-on-time
2118-maximum-earnings-from-taxi
2162-partition-array-into-two-arrays-to-minimize-sum-difference
2210-find-target-indices-after-sorting-array
2294-minimum-time-to-complete-trips
2334-number-of-flowers-in-full-bloom

Rolling Hash

0187-repeated-dna-sequences

Hash Function

0187-repeated-dna-sequences

Simulation

0068-text-justification
0861-flipping-an-image
0874-backspace-string-compare
1184-car-pooling
2058-concatenation-of-array
2428-equal-row-and-column-pairs
2483-task-scheduler-ii

Monotonic Stack

0042-trapping-rain-water
0084-largest-rectangle-in-histogram
0316-remove-duplicate-letters
0402-remove-k-digits
0456-132-pattern
0496-next-greater-element-i
0503-next-greater-element-ii
0739-daily-temperatures
0779-max-chunks-to-make-sorted-ii
0883-car-fleet
0937-online-stock-span
1228-minimum-cost-tree-from-leaf-values
1305-number-of-visible-people-in-a-queue
1679-shortest-subarray-to-be-removed-to-make-array-sorted

Counting Sort

0169-majority-element
0274-h-index
0347-top-k-frequent-elements
0451-sort-characters-by-frequency
0621-task-scheduler
0692-top-k-frequent-words
0778-reorganize-string
0959-3sum-with-multiplicity
1482-how-many-numbers-are-smaller-than-the-current-number
1502-construct-k-palindrome-strings
1604-least-number-of-unique-integers-after-k-removals
1777-determine-if-two-strings-are-close
1901-equal-sum-arrays-with-minimum-number-of-operations
1961-maximum-ice-cream-bars
1983-maximum-population-year
1986-largest-color-value-in-a-directed-graph

Divide and Conquer

0004-median-of-two-sorted-arrays
0023-merge-k-sorted-lists
0053-maximum-subarray
0148-sort-list
0169-majority-element
0215-kth-largest-element-in-an-array
0218-the-skyline-problem
0347-top-k-frequent-elements
1014-k-closest-points-to-origin

Randomized

0380-insert-delete-getrandom-o1

String Matching

0028-find-the-index-of-the-first-occurrence-in-a-string
1080-camelcase-matching
1524-string-matching-in-an-array

Heap (Priority Queue)

0023-merge-k-sorted-lists
0215-kth-largest-element-in-an-array
0218-the-skyline-problem
0264-ugly-number-ii
0295-find-median-from-data-stream
0347-top-k-frequent-elements
0373-find-k-pairs-with-smallest-sums
0378-kth-smallest-element-in-a-sorted-matrix
0451-sort-characters-by-frequency
0502-ipo
0621-task-scheduler
0632-smallest-range-covering-elements-from-k-lists
0658-find-k-closest-elements
0692-top-k-frequent-words
0744-network-delay-time
0778-reorganize-string
0789-kth-largest-element-in-a-stream
0803-cheapest-flights-within-k-stops
0887-minimum-cost-to-hire-k-workers
0902-minimum-number-of-refueling-stops
1014-k-closest-points-to-origin
1184-car-pooling
1464-reduce-array-size-to-the-half
1478-maximum-number-of-events-that-can-be-attended
1753-path-with-minimum-effort
1879-maximum-score-from-removing-stones
1917-maximum-average-pass-ratio
1962-single-threaded-cpu
1977-minimum-interval-to-include-each-query
2012-process-tasks-using-servers

Shortest Path

0744-network-delay-time
0803-cheapest-flights-within-k-stops
1456-find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance

Tree

0096-unique-binary-search-trees
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0104-maximum-depth-of-binary-tree
0107-binary-tree-level-order-traversal-ii
0111-minimum-depth-of-binary-tree
0112-path-sum
0113-path-sum-ii
0116-populating-next-right-pointers-in-each-node
0117-populating-next-right-pointers-in-each-node-ii
0124-binary-tree-maximum-path-sum
0129-sum-root-to-leaf-numbers
0199-binary-tree-right-side-view
0235-lowest-common-ancestor-of-a-binary-search-tree
0236-lowest-common-ancestor-of-a-binary-tree
0257-binary-tree-paths
0437-path-sum-iii
0449-serialize-and-deserialize-bst
0543-diameter-of-binary-tree
0563-binary-tree-tilt
0637-average-of-levels-in-binary-tree
0653-two-sum-iv-input-is-a-bst
0690-employee-importance
0789-kth-largest-element-in-a-stream
1092-maximum-difference-between-node-and-ancestor
1116-maximum-level-sum-of-a-binary-tree
1218-lowest-common-ancestor-of-deepest-leaves
1296-kth-ancestor-of-a-tree-node
1492-time-needed-to-inform-all-employees
1544-count-good-nodes-in-binary-tree

Topological Sort

0207-course-schedule
0210-course-schedule-ii
0820-find-eventual-safe-states
1986-largest-color-value-in-a-directed-graph
2439-longest-cycle-in-a-graph

Biconnected Component

1300-critical-connections-in-a-network

Binary Search Tree

0096-unique-binary-search-trees
0235-lowest-common-ancestor-of-a-binary-search-tree
0449-serialize-and-deserialize-bst
0653-two-sum-iv-input-is-a-bst
0789-kth-largest-element-in-a-stream

Binary Tree

0096-unique-binary-search-trees
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0104-maximum-depth-of-binary-tree
0107-binary-tree-level-order-traversal-ii
0111-minimum-depth-of-binary-tree
0112-path-sum
0113-path-sum-ii
0116-populating-next-right-pointers-in-each-node
0117-populating-next-right-pointers-in-each-node-ii
0124-binary-tree-maximum-path-sum
0129-sum-root-to-leaf-numbers
0199-binary-tree-right-side-view
0235-lowest-common-ancestor-of-a-binary-search-tree
0236-lowest-common-ancestor-of-a-binary-tree
0257-binary-tree-paths
0437-path-sum-iii
0449-serialize-and-deserialize-bst
0543-diameter-of-binary-tree
0563-binary-tree-tilt
0637-average-of-levels-in-binary-tree
0653-two-sum-iv-input-is-a-bst
0789-kth-largest-element-in-a-stream
1092-maximum-difference-between-node-and-ancestor
1116-maximum-level-sum-of-a-binary-tree
1218-lowest-common-ancestor-of-deepest-leaves
1544-count-good-nodes-in-binary-tree

Data Stream

0295-find-median-from-data-stream
0789-kth-largest-element-in-a-stream
0937-online-stock-span

Ordered Set

0218-the-skyline-problem
0456-132-pattern
0731-my-calendar-ii
0732-my-calendar-iii
0880-rectangle-area-ii
0931-maximum-frequency-stack
2162-partition-array-into-two-arrays-to-minimize-sum-difference
2334-number-of-flowers-in-full-bloom

Line Sweep

0218-the-skyline-problem
0391-perfect-rectangle
0880-rectangle-area-ii
1028-interval-list-intersections
1977-minimum-interval-to-include-each-query

Bucket Sort

0347-top-k-frequent-elements
0451-sort-characters-by-frequency
0692-top-k-frequent-words

Quickselect

0215-kth-largest-element-in-an-array
0347-top-k-frequent-elements
1014-k-closest-points-to-origin

Geometry

0587-erect-the-fence
1014-k-closest-points-to-origin

Merge Sort

0023-merge-k-sorted-lists
0148-sort-list

Interactive

0278-first-bad-version

Combinatorics

0062-unique-paths
1307-ugly-number-iii

Number Theory

1307-ugly-number-iii

Enumeration

0875-longest-mountain-in-array

Bitmask

1881-closest-subsequence-sum
2162-partition-array-into-two-arrays-to-minimize-sum-difference

Recursion

0050-powx-n
0224-basic-calculator
0231-power-of-two
0326-power-of-three
0342-power-of-four

Binary Indexed Tree

0218-the-skyline-problem
0406-queue-reconstruction-by-height
0673-number-of-longest-increasing-subsequence

Segment Tree

0218-the-skyline-problem
0406-queue-reconstruction-by-height
0673-number-of-longest-increasing-subsequence
0731-my-calendar-ii
0732-my-calendar-iii
0880-rectangle-area-ii

Doubly-Linked List

0146-lru-cache

Queue

0225-implement-stack-using-queues
0232-implement-queue-using-stacks

Probability and Statistics

0826-soup-servings

Game Theory

0375-guess-number-higher-or-lower-ii

About

Collection of LeetCode questions to ace the coding interview! - Created using [LeetHub](https://github.com/QasimWani/LeetHub)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages