Skip to content

EesunMoon/leetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A collection of LeetCode questions to ace the coding interview! - Created using LeetHub v2

LeetCode Topics

Array

0001-two-sum
0004-median-of-two-sorted-arrays
0011-container-with-most-water
0015-3sum
0018-4sum
0026-remove-duplicates-from-sorted-array
0027-remove-element
0033-search-in-rotated-sorted-array
0034-find-first-and-last-position-of-element-in-sorted-array
0036-valid-sudoku
0039-combination-sum
0040-combination-sum-ii
0042-trapping-rain-water
0045-jump-game-ii
0046-permutations
0048-rotate-image
0049-group-anagrams
0051-n-queens
0053-maximum-subarray
0054-spiral-matrix
0055-jump-game
0056-merge-intervals
0057-insert-interval
0064-minimum-path-sum
0066-plus-one
0073-set-matrix-zeroes
0074-search-a-2d-matrix
0075-sort-colors
0078-subsets
0079-word-search
0084-largest-rectangle-in-histogram
0088-merge-sorted-array
0090-subsets-ii
0108-convert-sorted-array-to-binary-search-tree
0118-pascals-triangle
0119-pascals-triangle-ii
0121-best-time-to-buy-and-sell-stock
0122-best-time-to-buy-and-sell-stock-ii
0128-longest-consecutive-sequence
0130-surrounded-regions
0134-gas-station
0136-single-number
0139-word-break
0150-evaluate-reverse-polish-notation
0152-maximum-product-subarray
0153-find-minimum-in-rotated-sorted-array
0164-maximum-gap
0167-two-sum-ii-input-array-is-sorted
0169-majority-element
0189-rotate-array
0198-house-robber
0200-number-of-islands
0209-minimum-size-subarray-sum
0212-word-search-ii
0213-house-robber-ii
0215-kth-largest-element-in-an-array
0217-contains-duplicate
0220-contains-duplicate-iii
0238-product-of-array-except-self
0239-sliding-window-maximum
0240-search-a-2d-matrix-ii
0252-meeting-rooms
0253-meeting-rooms-ii
0268-missing-number
0269-alien-dictionary
0271-encode-and-decode-strings
0283-move-zeroes
0284-peeking-iterator
0286-walls-and-gates
0287-find-the-duplicate-number
0300-longest-increasing-subsequence
0309-best-time-to-buy-and-sell-stock-with-cooldown
0312-burst-balloons
0322-coin-change
0346-moving-average-from-data-stream
0347-top-k-frequent-elements
0373-find-k-pairs-with-smallest-sums
0378-kth-smallest-element-in-a-sorted-matrix
0380-insert-delete-getrandom-o1
0416-partition-equal-subset-sum
0417-pacific-atlantic-water-flow
0435-non-overlapping-intervals
0491-non-decreasing-subsequences
0494-target-sum
0496-next-greater-element-i
0498-diagonal-traverse
0518-coin-change-ii
0525-contiguous-array
0560-subarray-sum-equals-k
0621-task-scheduler
0624-maximum-distance-in-arrays
0628-maximum-product-of-three-numbers
0673-number-of-longest-increasing-subsequence
0695-max-area-of-island
0721-accounts-merge
0735-asteroid-collision
0739-daily-temperatures
0740-delete-and-earn
0747-min-cost-climbing-stairs
0753-open-the-lock
0792-binary-search
0794-swim-in-rising-water
0817-design-hashmap
0860-design-circular-queue
0876-hand-of-straights
0883-car-fleet
0907-koko-eating-bananas
0912-random-pick-with-weight
0943-sum-of-subarray-minimums
0948-sort-an-array
0965-unique-email-addresses
1002-maximum-width-ramp
1014-k-closest-points-to-origin
1036-rotting-oranges
1046-max-consecutive-ones-iii
1094-matrix-cells-in-distance-order
1108-analyze-user-website-visit-pattern
1126-minimum-cost-to-connect-sticks
1127-last-stone-weight
1137-height-checker
1256-rank-transform-of-an-array
1306-minimum-absolute-difference
1396-count-servers-that-communicate
1463-the-k-weakest-rows-in-a-matrix
1706-min-cost-to-connect-all-points
1753-path-with-minimum-effort
1762-furthest-building-you-can-reach
1878-check-if-array-is-sorted-and-rotated
1909-buildings-with-an-ocean-view
1977-minimum-interval-to-include-each-query
2026-merge-triplets-to-form-target-triplet
2139-detect-squares
2165-plates-between-candles
2271-rearrange-array-elements-by-sign
2354-minimum-health-to-beat-game
2436-make-array-zero-by-subtracting-equal-amounts
2473-max-sum-of-a-pair-with-equal-sum-of-digits
2548-destroy-sequential-targets
2552-maximum-sum-of-distinct-subarrays-with-length-k
2718-minimum-operations-to-make-all-array-elements-equal
2792-neighboring-bitwise-xor
3429-special-array-i
3434-find-the-number-of-distinct-colors-among-the-balls
3594-identify-the-largest-outlier-in-an-array
3656-minimum-number-of-operations-to-make-elements-in-array-distinct

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
0069-sqrtx
0074-search-a-2d-matrix
0153-find-minimum-in-rotated-sorted-array
0167-two-sum-ii-input-array-is-sorted
0209-minimum-size-subarray-sum
0240-search-a-2d-matrix-ii
0268-missing-number
0278-first-bad-version
0287-find-the-duplicate-number
0300-longest-increasing-subsequence
0378-kth-smallest-element-in-a-sorted-matrix
0792-binary-search
0794-swim-in-rising-water
0907-koko-eating-bananas
0912-random-pick-with-weight
1023-time-based-key-value-store
1046-max-consecutive-ones-iii
1150-two-sum-bsts
1463-the-k-weakest-rows-in-a-matrix
1753-path-with-minimum-effort
1977-minimum-interval-to-include-each-query
2165-plates-between-candles
2718-minimum-operations-to-make-all-array-elements-equal

Sorting

0015-3sum
0018-4sum
0049-group-anagrams
0056-merge-intervals
0075-sort-colors
0088-merge-sorted-array
0147-insertion-sort-list
0148-sort-list
0164-maximum-gap
0169-majority-element
0215-kth-largest-element-in-an-array
0217-contains-duplicate
0220-contains-duplicate-iii
0242-valid-anagram
0252-meeting-rooms
0253-meeting-rooms-ii
0268-missing-number
0295-find-median-from-data-stream
0314-binary-tree-vertical-order-traversal
0347-top-k-frequent-elements
0378-kth-smallest-element-in-a-sorted-matrix
0435-non-overlapping-intervals
0451-sort-characters-by-frequency
0621-task-scheduler
0628-maximum-product-of-three-numbers
0721-accounts-merge
0778-reorganize-string
0876-hand-of-straights
0883-car-fleet
0948-sort-an-array
1014-k-closest-points-to-origin
1094-matrix-cells-in-distance-order
1108-analyze-user-website-visit-pattern
1137-height-checker
1256-rank-transform-of-an-array
1306-minimum-absolute-difference
1463-the-k-weakest-rows-in-a-matrix
1977-minimum-interval-to-include-each-query
2436-make-array-zero-by-subtracting-equal-amounts
2473-max-sum-of-a-pair-with-equal-sum-of-digits
2718-minimum-operations-to-make-all-array-elements-equal

Prefix Sum

0209-minimum-size-subarray-sum
0238-product-of-array-except-self
0253-meeting-rooms-ii
0525-contiguous-array
0560-subarray-sum-equals-k
0912-random-pick-with-weight
1046-max-consecutive-ones-iii
2165-plates-between-candles
2629-number-of-substrings-with-fixed-ratio
2718-minimum-operations-to-make-all-array-elements-equal

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
0064-minimum-path-sum
0070-climbing-stairs
0072-edit-distance
0091-decode-ways
0097-interleaving-string
0115-distinct-subsequences
0118-pascals-triangle
0119-pascals-triangle-ii
0121-best-time-to-buy-and-sell-stock
0122-best-time-to-buy-and-sell-stock-ii
0124-binary-tree-maximum-path-sum
0131-palindrome-partitioning
0139-word-break
0152-maximum-product-subarray
0198-house-robber
0213-house-robber-ii
0279-perfect-squares
0300-longest-increasing-subsequence
0309-best-time-to-buy-and-sell-stock-with-cooldown
0312-burst-balloons
0322-coin-change
0338-counting-bits
0392-is-subsequence
0416-partition-equal-subset-sum
0435-non-overlapping-intervals
0494-target-sum
0518-coin-change-ii
0647-palindromic-substrings
0673-number-of-longest-increasing-subsequence
0678-valid-parenthesis-string
0740-delete-and-earn
0747-min-cost-climbing-stairs
0803-cheapest-flights-within-k-stops
0943-sum-of-subarray-minimums
1013-fibonacci-number
1236-n-th-tribonacci-number
1250-longest-common-subsequence

Two Pointers

0005-longest-palindromic-substring
0011-container-with-most-water
0015-3sum
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
0042-trapping-rain-water
0061-rotate-list
0075-sort-colors
0088-merge-sorted-array
0125-valid-palindrome
0141-linked-list-cycle
0143-reorder-list
0148-sort-list
0151-reverse-words-in-a-string
0167-two-sum-ii-input-array-is-sorted
0189-rotate-array
0202-happy-number
0234-palindrome-linked-list
0253-meeting-rooms-ii
0283-move-zeroes
0287-find-the-duplicate-number
0295-find-median-from-data-stream
0344-reverse-string
0392-is-subsequence
0443-string-compression
0567-permutation-in-string
0647-palindromic-substrings
0653-two-sum-iv-input-is-a-bst
0768-partition-labels
0874-backspace-string-compare
0908-middle-of-the-linked-list
1002-maximum-width-ramp
1150-two-sum-bsts
1790-lowest-common-ancestor-of-a-binary-tree-iii
1894-merge-strings-alternately
2271-rearrange-array-elements-by-sign

String

0003-longest-substring-without-repeating-characters
0005-longest-palindromic-substring
0006-zigzag-conversion
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
0043-multiply-strings
0049-group-anagrams
0058-length-of-last-word
0067-add-binary
0072-edit-distance
0076-minimum-window-substring
0079-word-search
0091-decode-ways
0097-interleaving-string
0115-distinct-subsequences
0125-valid-palindrome
0127-word-ladder
0131-palindrome-partitioning
0139-word-break
0151-reverse-words-in-a-string
0187-repeated-dna-sequences
0205-isomorphic-strings
0208-implement-trie-prefix-tree
0211-design-add-and-search-words-data-structure
0212-word-search-ii
0227-basic-calculator-ii
0242-valid-anagram
0269-alien-dictionary
0271-encode-and-decode-strings
0290-word-pattern
0297-serialize-and-deserialize-binary-tree
0344-reverse-string
0387-first-unique-character-in-a-string
0392-is-subsequence
0424-longest-repeating-character-replacement
0443-string-compression
0451-sort-characters-by-frequency
0567-permutation-in-string
0647-palindromic-substrings
0678-valid-parenthesis-string
0721-accounts-merge
0753-open-the-lock
0768-partition-labels
0778-reorganize-string
0874-backspace-string-compare
0965-unique-email-addresses
1023-time-based-key-value-store
1119-robot-bounded-in-circle
1250-longest-common-subsequence
1274-number-of-days-between-two-dates
1320-remove-all-adjacent-duplicates-in-string-ii
1838-number-of-distinct-substrings-in-a-string
1894-merge-strings-alternately
2021-remove-all-occurrences-of-a-substring
2165-plates-between-candles
2629-number-of-substrings-with-fixed-ratio
3684-substring-matching-pattern

String Matching

0028-find-the-index-of-the-first-occurrence-in-a-string
3684-substring-matching-pattern

Trie

0014-longest-common-prefix
0139-word-break
0208-implement-trie-prefix-tree
0211-design-add-and-search-words-data-structure
0212-word-search-ii
1838-number-of-distinct-substrings-in-a-string

Hash Table

0001-two-sum
0003-longest-substring-without-repeating-characters
0013-roman-to-integer
0017-letter-combinations-of-a-phone-number
0036-valid-sudoku
0049-group-anagrams
0073-set-matrix-zeroes
0076-minimum-window-substring
0127-word-ladder
0128-longest-consecutive-sequence
0133-clone-graph
0138-copy-list-with-random-pointer
0139-word-break
0141-linked-list-cycle
0146-lru-cache
0169-majority-element
0187-repeated-dna-sequences
0202-happy-number
0205-isomorphic-strings
0208-implement-trie-prefix-tree
0217-contains-duplicate
0242-valid-anagram
0268-missing-number
0290-word-pattern
0314-binary-tree-vertical-order-traversal
0347-top-k-frequent-elements
0355-design-twitter
0359-logger-rate-limiter
0380-insert-delete-getrandom-o1
0387-first-unique-character-in-a-string
0424-longest-repeating-character-replacement
0451-sort-characters-by-frequency
0491-non-decreasing-subsequences
0496-next-greater-element-i
0525-contiguous-array
0560-subarray-sum-equals-k
0567-permutation-in-string
0621-task-scheduler
0653-two-sum-iv-input-is-a-bst
0721-accounts-merge
0740-delete-and-earn
0753-open-the-lock
0768-partition-labels
0778-reorganize-string
0817-design-hashmap
0876-hand-of-straights
0893-all-nodes-distance-k-in-binary-tree
0965-unique-email-addresses
1023-time-based-key-value-store
1108-analyze-user-website-visit-pattern
1256-rank-transform-of-an-array
1790-lowest-common-ancestor-of-a-binary-tree-iii
2139-detect-squares
2436-make-array-zero-by-subtracting-equal-amounts
2461-amount-of-time-for-binary-tree-to-be-infected
2473-max-sum-of-a-pair-with-equal-sum-of-digits
2548-destroy-sequential-targets
2552-maximum-sum-of-distinct-subarrays-with-length-k
2629-number-of-substrings-with-fixed-ratio
3434-find-the-number-of-distinct-colors-among-the-balls
3594-identify-the-largest-outlier-in-an-array
3656-minimum-number-of-operations-to-make-elements-in-array-distinct

Math

0002-add-two-numbers
0007-reverse-integer
0009-palindrome-number
0013-roman-to-integer
0043-multiply-strings
0048-rotate-image
0050-powx-n
0062-unique-paths
0066-plus-one
0067-add-binary
0069-sqrtx
0070-climbing-stairs
0150-evaluate-reverse-polish-notation
0189-rotate-array
0202-happy-number
0227-basic-calculator-ii
0268-missing-number
0279-perfect-squares
0371-sum-of-two-integers
0380-insert-delete-getrandom-o1
0628-maximum-product-of-three-numbers
0912-random-pick-with-weight
1013-fibonacci-number
1014-k-closest-points-to-origin
1094-matrix-cells-in-distance-order
1119-robot-bounded-in-circle
1236-n-th-tribonacci-number
1274-number-of-days-between-two-dates
1585-the-kth-factor-of-n
2279-maximum-split-of-positive-even-integers
2383-add-two-integers
2629-number-of-substrings-with-fixed-ratio

Tree

0094-binary-tree-inorder-traversal
0098-validate-binary-search-tree
0099-recover-binary-search-tree
0100-same-tree
0101-symmetric-tree
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0107-binary-tree-level-order-traversal-ii
0108-convert-sorted-array-to-binary-search-tree
0110-balanced-binary-tree
0124-binary-tree-maximum-path-sum
0173-binary-search-tree-iterator
0199-binary-tree-right-side-view
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0236-lowest-common-ancestor-of-a-binary-tree
0285-inorder-successor-in-bst
0297-serialize-and-deserialize-binary-tree
0314-binary-tree-vertical-order-traversal
0450-delete-node-in-a-bst
0530-minimum-absolute-difference-in-bst
0543-diameter-of-binary-tree
0653-two-sum-iv-input-is-a-bst
0783-search-in-a-binary-search-tree
0784-insert-into-a-binary-search-tree
0789-kth-largest-element-in-a-stream
0893-all-nodes-distance-k-in-binary-tree
1035-cousins-in-binary-tree
1150-two-sum-bsts
1544-count-good-nodes-in-binary-tree
1790-lowest-common-ancestor-of-a-binary-tree-iii
2461-amount-of-time-for-binary-tree-to-be-infected

Depth-First Search

0079-word-search
0094-binary-tree-inorder-traversal
0098-validate-binary-search-tree
0099-recover-binary-search-tree
0100-same-tree
0101-symmetric-tree
0110-balanced-binary-tree
0124-binary-tree-maximum-path-sum
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
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0236-lowest-common-ancestor-of-a-binary-tree
0261-graph-valid-tree
0269-alien-dictionary
0285-inorder-successor-in-bst
0297-serialize-and-deserialize-binary-tree
0314-binary-tree-vertical-order-traversal
0323-number-of-connected-components-in-an-undirected-graph
0332-reconstruct-itinerary
0417-pacific-atlantic-water-flow
0530-minimum-absolute-difference-in-bst
0543-diameter-of-binary-tree
0547-number-of-provinces
0653-two-sum-iv-input-is-a-bst
0684-redundant-connection
0695-max-area-of-island
0721-accounts-merge
0744-network-delay-time
0794-swim-in-rising-water
0803-cheapest-flights-within-k-stops
0813-all-paths-from-source-to-target
0893-all-nodes-distance-k-in-binary-tree
1035-cousins-in-binary-tree
1150-two-sum-bsts
1396-count-servers-that-communicate
1442-number-of-operations-to-make-network-connected
1544-count-good-nodes-in-binary-tree
1558-course-schedule-iv
1753-path-with-minimum-effort
2121-find-if-path-exists-in-graph
2461-amount-of-time-for-binary-tree-to-be-infected

Breadth-First Search

0100-same-tree
0101-symmetric-tree
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0107-binary-tree-level-order-traversal-ii
0127-word-ladder
0130-surrounded-regions
0133-clone-graph
0199-binary-tree-right-side-view
0200-number-of-islands
0207-course-schedule
0210-course-schedule-ii
0261-graph-valid-tree
0269-alien-dictionary
0279-perfect-squares
0286-walls-and-gates
0297-serialize-and-deserialize-binary-tree
0314-binary-tree-vertical-order-traversal
0322-coin-change
0323-number-of-connected-components-in-an-undirected-graph
0417-pacific-atlantic-water-flow
0530-minimum-absolute-difference-in-bst
0547-number-of-provinces
0653-two-sum-iv-input-is-a-bst
0684-redundant-connection
0695-max-area-of-island
0721-accounts-merge
0744-network-delay-time
0753-open-the-lock
0794-swim-in-rising-water
0803-cheapest-flights-within-k-stops
0813-all-paths-from-source-to-target
0893-all-nodes-distance-k-in-binary-tree
1035-cousins-in-binary-tree
1036-rotting-oranges
1396-count-servers-that-communicate
1442-number-of-operations-to-make-network-connected
1544-count-good-nodes-in-binary-tree
1558-course-schedule-iv
1753-path-with-minimum-effort
2121-find-if-path-exists-in-graph
2461-amount-of-time-for-binary-tree-to-be-infected

Binary Search Tree

0098-validate-binary-search-tree
0099-recover-binary-search-tree
0108-convert-sorted-array-to-binary-search-tree
0173-binary-search-tree-iterator
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0285-inorder-successor-in-bst
0450-delete-node-in-a-bst
0530-minimum-absolute-difference-in-bst
0653-two-sum-iv-input-is-a-bst
0783-search-in-a-binary-search-tree
0784-insert-into-a-binary-search-tree
0789-kth-largest-element-in-a-stream
1150-two-sum-bsts

Binary Tree

0094-binary-tree-inorder-traversal
0098-validate-binary-search-tree
0099-recover-binary-search-tree
0100-same-tree
0101-symmetric-tree
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0107-binary-tree-level-order-traversal-ii
0108-convert-sorted-array-to-binary-search-tree
0110-balanced-binary-tree
0124-binary-tree-maximum-path-sum
0173-binary-search-tree-iterator
0199-binary-tree-right-side-view
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0236-lowest-common-ancestor-of-a-binary-tree
0285-inorder-successor-in-bst
0297-serialize-and-deserialize-binary-tree
0314-binary-tree-vertical-order-traversal
0450-delete-node-in-a-bst
0530-minimum-absolute-difference-in-bst
0543-diameter-of-binary-tree
0653-two-sum-iv-input-is-a-bst
0783-search-in-a-binary-search-tree
0784-insert-into-a-binary-search-tree
0789-kth-largest-element-in-a-stream
0893-all-nodes-distance-k-in-binary-tree
1035-cousins-in-binary-tree
1150-two-sum-bsts
1544-count-good-nodes-in-binary-tree
1790-lowest-common-ancestor-of-a-binary-tree-iii
2461-amount-of-time-for-binary-tree-to-be-infected

Stack

0020-valid-parentheses
0032-longest-valid-parentheses
0042-trapping-rain-water
0084-largest-rectangle-in-histogram
0094-binary-tree-inorder-traversal
0143-reorder-list
0150-evaluate-reverse-polish-notation
0155-min-stack
0173-binary-search-tree-iterator
0227-basic-calculator-ii
0234-palindrome-linked-list
0496-next-greater-element-i
0678-valid-parenthesis-string
0735-asteroid-collision
0739-daily-temperatures
0874-backspace-string-compare
0883-car-fleet
0937-online-stock-span
0943-sum-of-subarray-minimums
1002-maximum-width-ramp
1150-two-sum-bsts
1320-remove-all-adjacent-duplicates-in-string-ii
1909-buildings-with-an-ocean-view
2021-remove-all-occurrences-of-a-substring

Design

0146-lru-cache
0155-min-stack
0173-binary-search-tree-iterator
0208-implement-trie-prefix-tree
0211-design-add-and-search-words-data-structure
0271-encode-and-decode-strings
0284-peeking-iterator
0295-find-median-from-data-stream
0297-serialize-and-deserialize-binary-tree
0346-moving-average-from-data-stream
0355-design-twitter
0359-logger-rate-limiter
0380-insert-delete-getrandom-o1
0789-kth-largest-element-in-a-stream
0817-design-hashmap
0860-design-circular-queue
0937-online-stock-span
1023-time-based-key-value-store
2139-detect-squares

Iterator

0173-binary-search-tree-iterator
0284-peeking-iterator

Union Find

0128-longest-consecutive-sequence
0130-surrounded-regions
0200-number-of-islands
0261-graph-valid-tree
0323-number-of-connected-components-in-an-undirected-graph
0547-number-of-provinces
0684-redundant-connection
0695-max-area-of-island
0721-accounts-merge
0794-swim-in-rising-water
1396-count-servers-that-communicate
1442-number-of-operations-to-make-network-connected
1706-min-cost-to-connect-all-points
1753-path-with-minimum-effort
2121-find-if-path-exists-in-graph

Graph

0133-clone-graph
0207-course-schedule
0210-course-schedule-ii
0261-graph-valid-tree
0269-alien-dictionary
0323-number-of-connected-components-in-an-undirected-graph
0332-reconstruct-itinerary
0547-number-of-provinces
0684-redundant-connection
0744-network-delay-time
0803-cheapest-flights-within-k-stops
0813-all-paths-from-source-to-target
1442-number-of-operations-to-make-network-connected
1558-course-schedule-iv
1706-min-cost-to-connect-all-points
2121-find-if-path-exists-in-graph

Linked List

0002-add-two-numbers
0019-remove-nth-node-from-end-of-list
0021-merge-two-sorted-lists
0023-merge-k-sorted-lists
0024-swap-nodes-in-pairs
0025-reverse-nodes-in-k-group
0061-rotate-list
0138-copy-list-with-random-pointer
0141-linked-list-cycle
0143-reorder-list
0146-lru-cache
0147-insertion-sort-list
0148-sort-list
0206-reverse-linked-list
0234-palindrome-linked-list
0328-odd-even-linked-list
0355-design-twitter
0817-design-hashmap
0860-design-circular-queue
0908-middle-of-the-linked-list

Recursion

0002-add-two-numbers
0021-merge-two-sorted-lists
0024-swap-nodes-in-pairs
0025-reverse-nodes-in-k-group
0050-powx-n
0143-reorder-list
0206-reverse-linked-list
0234-palindrome-linked-list
1013-fibonacci-number

Memoization

0070-climbing-stairs
0139-word-break
1013-fibonacci-number
1236-n-th-tribonacci-number

Queue

0239-sliding-window-maximum
0346-moving-average-from-data-stream
0387-first-unique-character-in-a-string
0860-design-circular-queue

Data Stream

0295-find-median-from-data-stream
0346-moving-average-from-data-stream
0359-logger-rate-limiter
0789-kth-largest-element-in-a-stream
0937-online-stock-span

Matrix

0036-valid-sudoku
0048-rotate-image
0054-spiral-matrix
0064-minimum-path-sum
0073-set-matrix-zeroes
0074-search-a-2d-matrix
0079-word-search
0130-surrounded-regions
0200-number-of-islands
0212-word-search-ii
0240-search-a-2d-matrix-ii
0286-walls-and-gates
0378-kth-smallest-element-in-a-sorted-matrix
0417-pacific-atlantic-water-flow
0498-diagonal-traverse
0695-max-area-of-island
0794-swim-in-rising-water
1036-rotting-oranges
1094-matrix-cells-in-distance-order
1396-count-servers-that-communicate
1463-the-k-weakest-rows-in-a-matrix
1753-path-with-minimum-effort

Backtracking

0017-letter-combinations-of-a-phone-number
0022-generate-parentheses
0039-combination-sum
0040-combination-sum-ii
0046-permutations
0051-n-queens
0078-subsets
0079-word-search
0090-subsets-ii
0131-palindrome-partitioning
0212-word-search-ii
0491-non-decreasing-subsequences
0494-target-sum
0813-all-paths-from-source-to-target
2279-maximum-split-of-positive-even-integers

Minimum Spanning Tree

1706-min-cost-to-connect-all-points

Heap (Priority Queue)

0023-merge-k-sorted-lists
0215-kth-largest-element-in-an-array
0239-sliding-window-maximum
0253-meeting-rooms-ii
0295-find-median-from-data-stream
0347-top-k-frequent-elements
0355-design-twitter
0373-find-k-pairs-with-smallest-sums
0378-kth-smallest-element-in-a-sorted-matrix
0451-sort-characters-by-frequency
0621-task-scheduler
0744-network-delay-time
0778-reorganize-string
0789-kth-largest-element-in-a-stream
0794-swim-in-rising-water
0803-cheapest-flights-within-k-stops
0948-sort-an-array
1014-k-closest-points-to-origin
1126-minimum-cost-to-connect-sticks
1127-last-stone-weight
1463-the-k-weakest-rows-in-a-matrix
1753-path-with-minimum-effort
1762-furthest-building-you-can-reach
1977-minimum-interval-to-include-each-query
2436-make-array-zero-by-subtracting-equal-amounts
2473-max-sum-of-a-pair-with-equal-sum-of-digits

Shortest Path

0744-network-delay-time
0803-cheapest-flights-within-k-stops

Topological Sort

0207-course-schedule
0210-course-schedule-ii
0269-alien-dictionary
1558-course-schedule-iv

Counting Sort

0169-majority-element
0347-top-k-frequent-elements
0387-first-unique-character-in-a-string
0451-sort-characters-by-frequency
0621-task-scheduler
0778-reorganize-string
0948-sort-an-array
1137-height-checker
1396-count-servers-that-communicate
2139-detect-squares
2548-destroy-sequential-targets
3594-identify-the-largest-outlier-in-an-array

Divide and Conquer

0004-median-of-two-sorted-arrays
0023-merge-k-sorted-lists
0053-maximum-subarray
0108-convert-sorted-array-to-binary-search-tree
0148-sort-list
0169-majority-element
0190-reverse-bits
0191-number-of-1-bits
0215-kth-largest-element-in-an-array
0240-search-a-2d-matrix-ii
0347-top-k-frequent-elements
0948-sort-an-array
1014-k-closest-points-to-origin

Quickselect

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

Merge Sort

0023-merge-k-sorted-lists
0148-sort-list
0948-sort-an-array

Bucket Sort

0164-maximum-gap
0220-contains-duplicate-iii
0347-top-k-frequent-elements
0451-sort-characters-by-frequency
0948-sort-an-array

Radix Sort

0164-maximum-gap
0948-sort-an-array

Monotonic Stack

0042-trapping-rain-water
0084-largest-rectangle-in-histogram
0496-next-greater-element-i
0739-daily-temperatures
0883-car-fleet
0937-online-stock-span
0943-sum-of-subarray-minimums
1002-maximum-width-ramp
1909-buildings-with-an-ocean-view

Sliding Window

0003-longest-substring-without-repeating-characters
0076-minimum-window-substring
0187-repeated-dna-sequences
0209-minimum-size-subarray-sum
0220-contains-duplicate-iii
0239-sliding-window-maximum
0424-longest-repeating-character-replacement
0567-permutation-in-string
1046-max-consecutive-ones-iii
2552-maximum-sum-of-distinct-subarrays-with-length-k

Ordered Set

0220-contains-duplicate-iii

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
0253-meeting-rooms-ii
0435-non-overlapping-intervals
0621-task-scheduler
0624-maximum-distance-in-arrays
0678-valid-parenthesis-string
0768-partition-labels
0778-reorganize-string
0876-hand-of-straights
1126-minimum-cost-to-connect-sticks
1762-furthest-building-you-can-reach
2026-merge-triplets-to-form-target-triplet
2279-maximum-split-of-positive-even-integers
2354-minimum-health-to-beat-game
2436-make-array-zero-by-subtracting-equal-amounts

Geometry

1014-k-closest-points-to-origin
1094-matrix-cells-in-distance-order

Simulation

0043-multiply-strings
0054-spiral-matrix
0067-add-binary
0498-diagonal-traverse
0735-asteroid-collision
0874-backspace-string-compare
1119-robot-bounded-in-circle
2021-remove-all-occurrences-of-a-substring
2271-rearrange-array-elements-by-sign
2436-make-array-zero-by-subtracting-equal-amounts
3434-find-the-number-of-distinct-colors-among-the-balls

Doubly-Linked List

0146-lru-cache

Binary Indexed Tree

0673-number-of-longest-increasing-subsequence

Segment Tree

0673-number-of-longest-increasing-subsequence

Database

0175-combine-two-tables
0182-duplicate-emails
0183-customers-who-never-order
0586-customer-placing-the-largest-number-of-orders
0595-big-countries
0607-sales-person
1136-actors-and-directors-who-cooperated-at-least-three-times
1179-game-play-analysis-i
1268-market-analysis-i
1541-top-travellers
1724-customer-who-visited-but-did-not-make-any-transactions
1837-daily-leads-and-partners
1877-find-followers-count
1908-recyclable-and-low-fat-products
2110-employees-with-missing-information

Combinatorics

0062-unique-paths

Rolling Hash

0187-repeated-dna-sequences
1838-number-of-distinct-substrings-in-a-string

Suffix Array

1838-number-of-distinct-substrings-in-a-string

Hash Function

0187-repeated-dna-sequences
0817-design-hashmap
1838-number-of-distinct-substrings-in-a-string

Eulerian Circuit

0332-reconstruct-itinerary

Line Sweep

1977-minimum-interval-to-include-each-query

Bit Manipulation

0067-add-binary
0078-subsets
0090-subsets-ii
0136-single-number
0187-repeated-dna-sequences
0190-reverse-bits
0191-number-of-1-bits
0268-missing-number
0287-find-the-duplicate-number
0338-counting-bits
0371-sum-of-two-integers
0491-non-decreasing-subsequences
0693-binary-number-with-alternating-bits
2792-neighboring-bitwise-xor

Enumeration

3594-identify-the-largest-outlier-in-an-array

Number Theory

1585-the-kth-factor-of-n

Monotonic Queue

0239-sliding-window-maximum

Randomized

0380-insert-delete-getrandom-o1
0912-random-pick-with-weight

Interactive

0278-first-bad-version

About

DSA & Problem-solving

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages