Skip to content

"LEETCODE-DSA" is a personal repository dedicated to mastering Data Structures and Algorithms (DSA) through consistent practice on LeetCode

Notifications You must be signed in to change notification settings

RahulDadhich26/LEETCODE-DSA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LEETCODE-DSA

LeetCode Topics

Array

0001-two-sum
0011-container-with-most-water
0014-longest-common-prefix
0015-3sum
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
0036-valid-sudoku
0037-sudoku-solver
0039-combination-sum
0040-combination-sum-ii
0041-first-missing-positive
0042-trapping-rain-water
0045-jump-game-ii
0046-permutations
0047-permutations-ii
0048-rotate-image
0049-group-anagrams
0051-n-queens
0053-maximum-subarray
0054-spiral-matrix
0055-jump-game
0056-merge-intervals
0073-set-matrix-zeroes
0074-search-a-2d-matrix
0075-sort-colors
0078-subsets
0079-word-search
0080-remove-duplicates-from-sorted-array-ii
0081-search-in-rotated-sorted-array-ii
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
0123-best-time-to-buy-and-sell-stock-iii
0128-longest-consecutive-sequence
0130-surrounded-regions
0135-candy
0136-single-number
0137-single-number-ii
0150-evaluate-reverse-polish-notation
0153-find-minimum-in-rotated-sorted-array
0162-find-peak-element
0167-two-sum-ii-input-array-is-sorted
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
0213-house-robber-ii
0215-kth-largest-element-in-an-array
0216-combination-sum-iii
0217-contains-duplicate
0219-contains-duplicate-ii
0228-summary-ranges
0229-majority-element-ii
0238-product-of-array-except-self
0239-sliding-window-maximum
0240-search-a-2d-matrix-ii
0260-single-number-iii
0268-missing-number
0274-h-index
0275-h-index-ii
0283-move-zeroes
0287-find-the-duplicate-number
0303-range-sum-query-immutable
0307-range-sum-query-mutable
0322-coin-change
0347-top-k-frequent-elements
0349-intersection-of-two-arrays
0377-combination-sum-iv
0378-kth-smallest-element-in-a-sorted-matrix
0403-frog-jump
0414-third-maximum-number
0419-battleships-in-a-board
0435-non-overlapping-intervals
0452-minimum-number-of-arrows-to-burst-balloons
0455-assign-cookies
0463-island-perimeter
0485-max-consecutive-ones
0496-next-greater-element-i
0503-next-greater-element-ii
0518-coin-change-ii
0525-contiguous-array
0542-01-matrix
0560-subarray-sum-equals-k
0561-array-partition
0630-course-schedule-iii
0643-maximum-average-subarray-i
0674-longest-continuous-increasing-subsequence
0695-max-area-of-island
0724-find-pivot-index
0733-flood-fill
0739-daily-temperatures
0747-min-cost-climbing-stairs
0792-binary-search
0890-lemonade-change
0902-minimum-number-of-refueling-stops
0907-koko-eating-bananas
0917-boats-to-save-people
0940-fruit-into-baskets
0966-binary-subarrays-with-sum
1014-k-closest-points-to-origin
1034-subarrays-with-k-different-integers
1036-rotting-oranges
1043-grid-illumination
1046-max-consecutive-ones-iii
1050-construct-binary-search-tree-from-preorder-traversal
1056-capacity-to-ship-packages-within-d-days
1073-number-of-enclaves
1171-shortest-path-in-binary-matrix
1370-count-number-of-nice-subarrays
1380-number-of-closed-islands
1428-jump-game-iii
1514-minimum-value-to-get-positive-step-by-step-sum
1524-string-matching-in-an-array
1538-maximum-points-you-can-obtain-from-cards
1574-maximum-product-of-two-elements-in-an-array
1605-minimum-number-of-days-to-make-m-bouquets
1635-number-of-good-pairs
1663-detect-cycles-in-2d-grid
1677-matrix-diagonal-sum
1753-path-with-minimum-effort
1798-max-number-of-k-sum-pairs
1878-check-if-array-is-sorted-and-rotated
1888-find-nearest-point-that-has-the-same-x-or-y-coordinate
2006-find-the-student-that-will-replace-the-chalk
2043-cyclically-rotating-a-grid
2047-find-a-peak-element-ii
2058-concatenation-of-array
2107-find-unique-binary-string
2116-count-number-of-pairs-with-absolute-difference-k
2254-check-if-every-row-and-column-contains-all-numbers
2319-longest-substring-of-one-repeating-character
2486-most-frequent-even-element
2497-maximum-matching-of-players-with-trainers
2551-apply-operations-to-an-array
2664-maximize-greatness-of-an-array
2737-row-with-maximum-ones
2855-maximum-number-of-jumps-to-reach-the-last-index
3311-ant-on-the-boundary

Hash Table

0001-two-sum
0003-longest-substring-without-repeating-characters
0013-roman-to-integer
0017-letter-combinations-of-a-phone-number
0030-substring-with-concatenation-of-all-words
0036-valid-sudoku
0037-sudoku-solver
0041-first-missing-positive
0049-group-anagrams
0073-set-matrix-zeroes
0076-minimum-window-substring
0126-word-ladder-ii
0127-word-ladder
0128-longest-consecutive-sequence
0133-clone-graph
0138-copy-list-with-random-pointer
0141-linked-list-cycle
0142-linked-list-cycle-ii
0146-lru-cache
0160-intersection-of-two-linked-lists
0169-majority-element
0202-happy-number
0205-isomorphic-strings
0208-implement-trie-prefix-tree
0217-contains-duplicate
0219-contains-duplicate-ii
0229-majority-element-ii
0242-valid-anagram
0268-missing-number
0290-word-pattern
0347-top-k-frequent-elements
0349-intersection-of-two-arrays
0383-ransom-note
0387-first-unique-character-in-a-string
0409-longest-palindrome
0424-longest-repeating-character-replacement
0451-sort-characters-by-frequency
0496-next-greater-element-i
0525-contiguous-array
0560-subarray-sum-equals-k
0653-two-sum-iv-input-is-a-bst
0778-reorganize-string
0893-all-nodes-distance-k-in-binary-tree
0896-smallest-subtree-with-all-the-deepest-nodes
0900-reordered-power-of-2
0940-fruit-into-baskets
0966-binary-subarrays-with-sum
1029-vertical-order-traversal-of-a-binary-tree
1034-subarrays-with-k-different-integers
1043-grid-illumination
1370-count-number-of-nice-subarrays
1460-number-of-substrings-containing-all-three-characters
1635-number-of-good-pairs
1798-max-number-of-k-sum-pairs
1890-sum-of-beauty-of-all-substrings
1904-second-largest-digit-in-a-string
1933-number-of-different-integers-in-a-string
2107-find-unique-binary-string
2116-count-number-of-pairs-with-absolute-difference-k
2254-check-if-every-row-and-column-contains-all-numbers
2461-amount-of-time-for-binary-tree-to-be-infected
2486-most-frequent-even-element

Matrix

0036-valid-sudoku
0037-sudoku-solver
0048-rotate-image
0054-spiral-matrix
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
0378-kth-smallest-element-in-a-sorted-matrix
0419-battleships-in-a-board
0463-island-perimeter
0542-01-matrix
0695-max-area-of-island
0733-flood-fill
1036-rotting-oranges
1073-number-of-enclaves
1171-shortest-path-in-binary-matrix
1380-number-of-closed-islands
1663-detect-cycles-in-2d-grid
1677-matrix-diagonal-sum
1753-path-with-minimum-effort
2043-cyclically-rotating-a-grid
2047-find-a-peak-element-ii
2254-check-if-every-row-and-column-contains-all-numbers
2737-row-with-maximum-ones

String

0003-longest-substring-without-repeating-characters
0005-longest-palindromic-substring
0006-zigzag-conversion
0008-string-to-integer-atoi
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
0030-substring-with-concatenation-of-all-words
0032-longest-valid-parentheses
0049-group-anagrams
0058-length-of-last-word
0067-add-binary
0071-simplify-path
0072-edit-distance
0076-minimum-window-substring
0079-word-search
0125-valid-palindrome
0126-word-ladder-ii
0127-word-ladder
0151-reverse-words-in-a-string
0168-excel-sheet-column-title
0171-excel-sheet-column-number
0205-isomorphic-strings
0208-implement-trie-prefix-tree
0212-word-search-ii
0224-basic-calculator
0242-valid-anagram
0257-binary-tree-paths
0290-word-pattern
0297-serialize-and-deserialize-binary-tree
0344-reverse-string
0383-ransom-note
0387-first-unique-character-in-a-string
0392-is-subsequence
0394-decode-string
0402-remove-k-digits
0409-longest-palindrome
0415-add-strings
0424-longest-repeating-character-replacement
0451-sort-characters-by-frequency
0459-repeated-substring-pattern
0468-validate-ip-address
0541-reverse-string-ii
0556-next-greater-element-iii
0557-reverse-words-in-a-string-iii
0583-delete-operation-for-two-strings
0678-valid-parenthesis-string
0778-reorganize-string
0812-rotate-string
1078-remove-outermost-parentheses
1252-break-a-palindrome
1460-number-of-substrings-containing-all-three-characters
1524-string-matching-in-an-array
1537-maximum-score-after-splitting-a-string
1542-consecutive-characters
1737-maximum-nesting-depth-of-the-parentheses
1890-sum-of-beauty-of-all-substrings
1904-second-largest-digit-in-a-string
1933-number-of-different-integers-in-a-string
1967-longest-substring-of-all-vowels-in-order
2032-largest-odd-number-in-string
2107-find-unique-binary-string
2243-check-if-all-as-appears-before-all-bs
2319-longest-substring-of-one-repeating-character
2492-length-of-the-longest-alphabetical-continuous-substring
3447-clear-digits

Prefix Sum

0209-minimum-size-subarray-sum
0238-product-of-array-except-self
0303-range-sum-query-immutable
0525-contiguous-array
0560-subarray-sum-equals-k
0724-find-pivot-index
0966-binary-subarrays-with-sum
1046-max-consecutive-ones-iii
1370-count-number-of-nice-subarrays
1514-minimum-value-to-get-positive-step-by-step-sum
1537-maximum-score-after-splitting-a-string
1538-maximum-points-you-can-obtain-from-cards
2006-find-the-student-that-will-replace-the-chalk
3311-ant-on-the-boundary

Math

0002-add-two-numbers
0007-reverse-integer
0009-palindrome-number
0013-roman-to-integer
0048-rotate-image
0050-powx-n
0060-permutation-sequence
0067-add-binary
0069-sqrtx
0070-climbing-stairs
0096-unique-binary-search-trees
0150-evaluate-reverse-polish-notation
0168-excel-sheet-column-title
0171-excel-sheet-column-number
0189-rotate-array
0202-happy-number
0224-basic-calculator
0268-missing-number
0279-perfect-squares
0415-add-strings
0445-add-two-numbers-ii
0556-next-greater-element-iii
0900-reordered-power-of-2
1013-fibonacci-number
1014-k-closest-points-to-origin
1370-count-number-of-nice-subarrays
1610-xor-operation-in-an-array
1635-number-of-good-pairs
2032-largest-odd-number-in-string
2050-count-good-numbers
2383-add-two-integers
2491-smallest-even-multiple
2556-convert-the-temperature
2630-alternating-digit-sum
2955-account-balance-after-rounded-purchase
3918-check-divisibility-by-digit-sum-and-product

String Matching

0028-find-the-index-of-the-first-occurrence-in-a-string
0459-repeated-substring-pattern
0812-rotate-string
1524-string-matching-in-an-array

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
0070-climbing-stairs
0072-edit-distance
0096-unique-binary-search-trees
0118-pascals-triangle
0119-pascals-triangle-ii
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
0188-best-time-to-buy-and-sell-stock-iv
0198-house-robber
0213-house-robber-ii
0279-perfect-squares
0322-coin-change
0377-combination-sum-iv
0392-is-subsequence
0403-frog-jump
0435-non-overlapping-intervals
0518-coin-change-ii
0542-01-matrix
0583-delete-operation-for-two-strings
0678-valid-parenthesis-string
0747-min-cost-climbing-stairs
0803-cheapest-flights-within-k-stops
0902-minimum-number-of-refueling-stops
1013-fibonacci-number
1456-find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance
2090-number-of-ways-to-arrive-at-destination
2855-maximum-number-of-jumps-to-reach-the-last-index

Bit Manipulation

0067-add-binary
0078-subsets
0090-subsets-ii
0136-single-number
0137-single-number-ii
0190-reverse-bits
0191-number-of-1-bits
0222-count-complete-tree-nodes
0260-single-number-iii
0268-missing-number
0287-find-the-duplicate-number
1610-xor-operation-in-an-array
2323-minimum-bit-flips-to-convert-number

Simulation

0054-spiral-matrix
0067-add-binary
0415-add-strings
2006-find-the-student-that-will-replace-the-chalk
2043-cyclically-rotating-a-grid
2058-concatenation-of-array
2551-apply-operations-to-an-array
3311-ant-on-the-boundary
3447-clear-digits

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
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
0142-linked-list-cycle-ii
0148-sort-list
0151-reverse-words-in-a-string
0160-intersection-of-two-linked-lists
0167-two-sum-ii-input-array-is-sorted
0189-rotate-array
0202-happy-number
0234-palindrome-linked-list
0283-move-zeroes
0287-find-the-duplicate-number
0344-reverse-string
0349-intersection-of-two-arrays
0392-is-subsequence
0455-assign-cookies
0528-swapping-nodes-in-a-linked-list
0541-reverse-string-ii
0556-next-greater-element-iii
0557-reverse-words-in-a-string-iii
0653-two-sum-iv-input-is-a-bst
0908-middle-of-the-linked-list
0917-boats-to-save-people
1798-max-number-of-k-sum-pairs
2216-delete-the-middle-node-of-a-linked-list
2497-maximum-matching-of-players-with-trainers
2551-apply-operations-to-an-array
2664-maximize-greatness-of-an-array

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
0082-remove-duplicates-from-sorted-list-ii
0083-remove-duplicates-from-sorted-list
0086-partition-list
0092-reverse-linked-list-ii
0138-copy-list-with-random-pointer
0141-linked-list-cycle
0142-linked-list-cycle-ii
0146-lru-cache
0148-sort-list
0160-intersection-of-two-linked-lists
0203-remove-linked-list-elements
0206-reverse-linked-list
0234-palindrome-linked-list
0237-delete-node-in-a-linked-list
0328-odd-even-linked-list
0445-add-two-numbers-ii
0528-swapping-nodes-in-a-linked-list
0838-design-linked-list
0908-middle-of-the-linked-list
2216-delete-the-middle-node-of-a-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
0060-permutation-sequence
0203-remove-linked-list-elements
0206-reverse-linked-list
0224-basic-calculator
0234-palindrome-linked-list
0394-decode-string
1013-fibonacci-number
2050-count-good-numbers

Tree

0094-binary-tree-inorder-traversal
0096-unique-binary-search-trees
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
0104-maximum-depth-of-binary-tree
0107-binary-tree-level-order-traversal-ii
0108-convert-sorted-array-to-binary-search-tree
0110-balanced-binary-tree
0111-minimum-depth-of-binary-tree
0112-path-sum
0113-path-sum-ii
0124-binary-tree-maximum-path-sum
0129-sum-root-to-leaf-numbers
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0173-binary-search-tree-iterator
0199-binary-tree-right-side-view
0222-count-complete-tree-nodes
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0236-lowest-common-ancestor-of-a-binary-tree
0257-binary-tree-paths
0297-serialize-and-deserialize-binary-tree
0437-path-sum-iii
0450-delete-node-in-a-bst
0530-minimum-absolute-difference-in-bst
0543-diameter-of-binary-tree
0637-average-of-levels-in-binary-tree
0653-two-sum-iv-input-is-a-bst
0662-maximum-width-of-binary-tree
0783-search-in-a-binary-search-tree
0784-insert-into-a-binary-search-tree
0893-all-nodes-distance-k-in-binary-tree
0896-smallest-subtree-with-all-the-deepest-nodes
1029-vertical-order-traversal-of-a-binary-tree
1050-construct-binary-search-tree-from-preorder-traversal
1427-all-elements-in-two-binary-search-trees
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
0104-maximum-depth-of-binary-tree
0110-balanced-binary-tree
0111-minimum-depth-of-binary-tree
0112-path-sum
0113-path-sum-ii
0124-binary-tree-maximum-path-sum
0129-sum-root-to-leaf-numbers
0130-surrounded-regions
0133-clone-graph
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0199-binary-tree-right-side-view
0200-number-of-islands
0207-course-schedule
0210-course-schedule-ii
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0236-lowest-common-ancestor-of-a-binary-tree
0257-binary-tree-paths
0297-serialize-and-deserialize-binary-tree
0419-battleships-in-a-board
0437-path-sum-iii
0463-island-perimeter
0530-minimum-absolute-difference-in-bst
0543-diameter-of-binary-tree
0547-number-of-provinces
0637-average-of-levels-in-binary-tree
0653-two-sum-iv-input-is-a-bst
0662-maximum-width-of-binary-tree
0695-max-area-of-island
0733-flood-fill
0744-network-delay-time
0801-is-graph-bipartite
0803-cheapest-flights-within-k-stops
0820-find-eventual-safe-states
0893-all-nodes-distance-k-in-binary-tree
0896-smallest-subtree-with-all-the-deepest-nodes
1029-vertical-order-traversal-of-a-binary-tree
1073-number-of-enclaves
1380-number-of-closed-islands
1427-all-elements-in-two-binary-search-trees
1428-jump-game-iii
1663-detect-cycles-in-2d-grid
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
0104-maximum-depth-of-binary-tree
0107-binary-tree-level-order-traversal-ii
0111-minimum-depth-of-binary-tree
0112-path-sum
0126-word-ladder-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
0226-invert-binary-tree
0279-perfect-squares
0297-serialize-and-deserialize-binary-tree
0322-coin-change
0463-island-perimeter
0530-minimum-absolute-difference-in-bst
0542-01-matrix
0547-number-of-provinces
0637-average-of-levels-in-binary-tree
0653-two-sum-iv-input-is-a-bst
0662-maximum-width-of-binary-tree
0695-max-area-of-island
0733-flood-fill
0744-network-delay-time
0801-is-graph-bipartite
0803-cheapest-flights-within-k-stops
0820-find-eventual-safe-states
0893-all-nodes-distance-k-in-binary-tree
0896-smallest-subtree-with-all-the-deepest-nodes
1029-vertical-order-traversal-of-a-binary-tree
1036-rotting-oranges
1073-number-of-enclaves
1171-shortest-path-in-binary-matrix
1380-number-of-closed-islands
1428-jump-game-iii
1663-detect-cycles-in-2d-grid
1753-path-with-minimum-effort
2121-find-if-path-exists-in-graph
2461-amount-of-time-for-binary-tree-to-be-infected

Binary Tree

0094-binary-tree-inorder-traversal
0096-unique-binary-search-trees
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
0104-maximum-depth-of-binary-tree
0107-binary-tree-level-order-traversal-ii
0108-convert-sorted-array-to-binary-search-tree
0110-balanced-binary-tree
0111-minimum-depth-of-binary-tree
0112-path-sum
0113-path-sum-ii
0124-binary-tree-maximum-path-sum
0129-sum-root-to-leaf-numbers
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0173-binary-search-tree-iterator
0199-binary-tree-right-side-view
0222-count-complete-tree-nodes
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0236-lowest-common-ancestor-of-a-binary-tree
0257-binary-tree-paths
0297-serialize-and-deserialize-binary-tree
0437-path-sum-iii
0450-delete-node-in-a-bst
0530-minimum-absolute-difference-in-bst
0543-diameter-of-binary-tree
0637-average-of-levels-in-binary-tree
0653-two-sum-iv-input-is-a-bst
0662-maximum-width-of-binary-tree
0783-search-in-a-binary-search-tree
0784-insert-into-a-binary-search-tree
0893-all-nodes-distance-k-in-binary-tree
0896-smallest-subtree-with-all-the-deepest-nodes
1029-vertical-order-traversal-of-a-binary-tree
1050-construct-binary-search-tree-from-preorder-traversal
1427-all-elements-in-two-binary-search-trees
2461-amount-of-time-for-binary-tree-to-be-infected

Design

0146-lru-cache
0155-min-stack
0173-binary-search-tree-iterator
0208-implement-trie-prefix-tree
0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0297-serialize-and-deserialize-binary-tree
0303-range-sum-query-immutable
0307-range-sum-query-mutable
0838-design-linked-list
0937-online-stock-span

Binary Search

0033-search-in-rotated-sorted-array
0034-find-first-and-last-position-of-element-in-sorted-array
0035-search-insert-position
0069-sqrtx
0074-search-a-2d-matrix
0081-search-in-rotated-sorted-array-ii
0153-find-minimum-in-rotated-sorted-array
0162-find-peak-element
0167-two-sum-ii-input-array-is-sorted
0209-minimum-size-subarray-sum
0222-count-complete-tree-nodes
0240-search-a-2d-matrix-ii
0268-missing-number
0275-h-index-ii
0278-first-bad-version
0287-find-the-duplicate-number
0349-intersection-of-two-arrays
0378-kth-smallest-element-in-a-sorted-matrix
0792-binary-search
0907-koko-eating-bananas
1046-max-consecutive-ones-iii
1056-capacity-to-ship-packages-within-d-days
1605-minimum-number-of-days-to-make-m-bouquets
1753-path-with-minimum-effort
2006-find-the-student-that-will-replace-the-chalk
2047-find-a-peak-element-ii

Greedy

0011-container-with-most-water
0045-jump-game-ii
0055-jump-game
0122-best-time-to-buy-and-sell-stock-ii
0135-candy
0402-remove-k-digits
0409-longest-palindrome
0435-non-overlapping-intervals
0452-minimum-number-of-arrows-to-burst-balloons
0455-assign-cookies
0561-array-partition
0630-course-schedule-iii
0678-valid-parenthesis-string
0778-reorganize-string
0890-lemonade-change
0902-minimum-number-of-refueling-stops
0917-boats-to-save-people
1252-break-a-palindrome
2032-largest-odd-number-in-string
2497-maximum-matching-of-players-with-trainers
2664-maximize-greatness-of-an-array

Divide and Conquer

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
1014-k-closest-points-to-origin

Sliding Window

0003-longest-substring-without-repeating-characters
0030-substring-with-concatenation-of-all-words
0076-minimum-window-substring
0209-minimum-size-subarray-sum
0219-contains-duplicate-ii
0239-sliding-window-maximum
0424-longest-repeating-character-replacement
0643-maximum-average-subarray-i
0940-fruit-into-baskets
0966-binary-subarrays-with-sum
1034-subarrays-with-k-different-integers
1046-max-consecutive-ones-iii
1370-count-number-of-nice-subarrays
1460-number-of-substrings-containing-all-three-characters
1538-maximum-points-you-can-obtain-from-cards
1967-longest-substring-of-all-vowels-in-order

Backtracking

0017-letter-combinations-of-a-phone-number
0022-generate-parentheses
0037-sudoku-solver
0039-combination-sum
0040-combination-sum-ii
0046-permutations
0047-permutations-ii
0051-n-queens
0052-n-queens-ii
0077-combinations
0078-subsets
0079-word-search
0090-subsets-ii
0113-path-sum-ii
0126-word-ladder-ii
0212-word-search-ii
0216-combination-sum-iii
0257-binary-tree-paths
2107-find-unique-binary-string

Trie

0014-longest-common-prefix
0208-implement-trie-prefix-tree
0212-word-search-ii

Stack

0020-valid-parentheses
0032-longest-valid-parentheses
0042-trapping-rain-water
0071-simplify-path
0084-largest-rectangle-in-histogram
0094-binary-tree-inorder-traversal
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0150-evaluate-reverse-polish-notation
0155-min-stack
0173-binary-search-tree-iterator
0224-basic-calculator
0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0234-palindrome-linked-list
0394-decode-string
0402-remove-k-digits
0445-add-two-numbers-ii
0496-next-greater-element-i
0503-next-greater-element-ii
0678-valid-parenthesis-string
0739-daily-temperatures
0937-online-stock-span
1050-construct-binary-search-tree-from-preorder-traversal
1078-remove-outermost-parentheses
1737-maximum-nesting-depth-of-the-parentheses
3447-clear-digits

Binary Search Tree

0096-unique-binary-search-trees
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
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
1050-construct-binary-search-tree-from-preorder-traversal
1427-all-elements-in-two-binary-search-trees

Sorting

0015-3sum
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
0217-contains-duplicate
0229-majority-element-ii
0242-valid-anagram
0268-missing-number
0274-h-index
0347-top-k-frequent-elements
0349-intersection-of-two-arrays
0378-kth-smallest-element-in-a-sorted-matrix
0414-third-maximum-number
0435-non-overlapping-intervals
0451-sort-characters-by-frequency
0452-minimum-number-of-arrows-to-burst-balloons
0455-assign-cookies
0561-array-partition
0630-course-schedule-iii
0778-reorganize-string
0900-reordered-power-of-2
0917-boats-to-save-people
1014-k-closest-points-to-origin
1029-vertical-order-traversal-of-a-binary-tree
1427-all-elements-in-two-binary-search-trees
1574-maximum-product-of-two-elements-in-an-array
1798-max-number-of-k-sum-pairs
2497-maximum-matching-of-players-with-trainers
2664-maximize-greatness-of-an-array

Heap (Priority Queue)

0023-merge-k-sorted-lists
0215-kth-largest-element-in-an-array
0239-sliding-window-maximum
0347-top-k-frequent-elements
0378-kth-smallest-element-in-a-sorted-matrix
0451-sort-characters-by-frequency
0630-course-schedule-iii
0744-network-delay-time
0778-reorganize-string
0803-cheapest-flights-within-k-stops
0902-minimum-number-of-refueling-stops
1014-k-closest-points-to-origin
1574-maximum-product-of-two-elements-in-an-array
1753-path-with-minimum-effort

Quickselect

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

Geometry

1014-k-closest-points-to-origin

Bucket Sort

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

Counting

0169-majority-element
0229-majority-element-ii
0347-top-k-frequent-elements
0383-ransom-note
0387-first-unique-character-in-a-string
0451-sort-characters-by-frequency
0778-reorganize-string
0900-reordered-power-of-2
1034-subarrays-with-k-different-integers
1635-number-of-good-pairs
1890-sum-of-beauty-of-all-substrings
2116-count-number-of-pairs-with-absolute-difference-k
2486-most-frequent-even-element

Monotonic Stack

0042-trapping-rain-water
0084-largest-rectangle-in-histogram
0402-remove-k-digits
0496-next-greater-element-i
0503-next-greater-element-ii
0739-daily-temperatures
0937-online-stock-span
1050-construct-binary-search-tree-from-preorder-traversal

Graph

0133-clone-graph
0207-course-schedule
0210-course-schedule-ii
0547-number-of-provinces
0744-network-delay-time
0801-is-graph-bipartite
0803-cheapest-flights-within-k-stops
0820-find-eventual-safe-states
1456-find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance
2090-number-of-ways-to-arrive-at-destination
2121-find-if-path-exists-in-graph

Topological Sort

0207-course-schedule
0210-course-schedule-ii
0820-find-eventual-safe-states
2090-number-of-ways-to-arrive-at-destination

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
2090-number-of-ways-to-arrive-at-destination

Number Theory

2491-smallest-even-multiple

Union Find

0128-longest-consecutive-sequence
0130-surrounded-regions
0200-number-of-islands
0547-number-of-provinces
0695-max-area-of-island
0801-is-graph-bipartite
1073-number-of-enclaves
1380-number-of-closed-islands
1663-detect-cycles-in-2d-grid
1753-path-with-minimum-effort
2121-find-if-path-exists-in-graph

Binary Indexed Tree

0307-range-sum-query-mutable

Segment Tree

0307-range-sum-query-mutable
2319-longest-substring-of-one-repeating-character

Memoization

0070-climbing-stairs
1013-fibonacci-number

Counting Sort

0274-h-index
0561-array-partition

Merge Sort

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

Queue

0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0239-sliding-window-maximum
0387-first-unique-character-in-a-string

Data Stream

0937-online-stock-span

Doubly-Linked List

0146-lru-cache

Iterator

0173-binary-search-tree-iterator

Database

0197-rising-temperature
0584-find-customer-referee
0595-big-countries
1258-article-views-i
1509-replace-employee-id-with-the-unique-identifier
1827-invalid-tweets
1908-recyclable-and-low-fat-products

Enumeration

0900-reordered-power-of-2

Interactive

0278-first-bad-version

Monotonic Queue

0239-sliding-window-maximum

Ordered Set

2319-longest-substring-of-one-repeating-character

About

"LEETCODE-DSA" is a personal repository dedicated to mastering Data Structures and Algorithms (DSA) through consistent practice on LeetCode

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages