Skip to content

A repository of the LeetCode problems I have solved.

Notifications You must be signed in to change notification settings

jaeyonglee3/LeetCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,648 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeetCode

Collection of LeetCode questions to ace the coding interview! Created using Leethub.

LeetCode Topics

Array

0001-two-sum
0011-container-with-most-water
0014-longest-common-prefix
0015-3sum
0016-3sum-closest
0018-4sum
0026-remove-duplicates-from-sorted-array
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
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
0105-construct-binary-tree-from-preorder-and-inorder-traversal
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
0150-evaluate-reverse-polish-notation
0152-maximum-product-subarray
0153-find-minimum-in-rotated-sorted-array
0154-find-minimum-in-rotated-sorted-array-ii
0167-two-sum-ii-input-array-is-sorted
0169-majority-element
0200-number-of-islands
0209-minimum-size-subarray-sum
0212-word-search-ii
0215-kth-largest-element-in-an-array
0217-contains-duplicate
0238-product-of-array-except-self
0283-move-zeroes
0287-find-the-duplicate-number
0347-top-k-frequent-elements
0410-split-array-largest-sum
0417-pacific-atlantic-water-flow
0419-battleships-in-a-board
0435-non-overlapping-intervals
0452-minimum-number-of-arrows-to-burst-balloons
0463-island-perimeter
0496-next-greater-element-i
0503-next-greater-element-ii
0542-01-matrix
0594-longest-harmonious-subsequence
0605-can-place-flowers
0611-valid-triangle-number
0621-task-scheduler
0643-maximum-average-subarray-i
0695-max-area-of-island
0729-my-calendar-i
0733-flood-fill
0735-asteroid-collision
0739-daily-temperatures
0792-binary-search
0883-car-fleet
0907-koko-eating-bananas
0940-fruit-into-baskets
1014-k-closest-points-to-origin
1019-squares-of-a-sorted-array
1036-rotting-oranges
1046-max-consecutive-ones-iii
1056-capacity-to-ship-packages-within-d-days
1073-number-of-enclaves
1117-as-far-from-land-as-possible
1127-last-stone-weight
1171-shortest-path-in-binary-matrix
1408-find-the-smallest-divisor-given-a-threshold
1547-destination-city
1570-final-prices-with-a-special-discount-in-a-shop
1586-longest-subarray-of-1s-after-deleting-one-element
1605-minimum-number-of-days-to-make-m-bouquets
1675-magnetic-force-between-two-balls
1798-max-number-of-k-sum-pairs
1876-map-of-highest-peak
1950-sign-of-the-product-of-an-array
2035-count-sub-islands
2058-concatenation-of-array
2292-counting-words-with-a-given-prefix
2428-equal-row-and-column-pairs
2665-minimum-time-to-repair-cars
3309-count-prefix-and-suffix-pairs-i
3329-find-the-length-of-the-longest-common-prefix

Hash Table

0001-two-sum
0003-longest-substring-without-repeating-characters
0017-letter-combinations-of-a-phone-number
0036-valid-sudoku
0049-group-anagrams
0073-set-matrix-zeroes
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0128-longest-consecutive-sequence
0133-clone-graph
0138-copy-list-with-random-pointer
0141-linked-list-cycle
0146-lru-cache
0169-majority-element
0208-implement-trie-prefix-tree
0217-contains-duplicate
0242-valid-anagram
0347-top-k-frequent-elements
0355-design-twitter
0383-ransom-note
0409-longest-palindrome
0424-longest-repeating-character-replacement
0438-find-all-anagrams-in-a-string
0496-next-greater-element-i
0567-permutation-in-string
0594-longest-harmonious-subsequence
0621-task-scheduler
0896-smallest-subtree-with-all-the-deepest-nodes
0940-fruit-into-baskets
1023-time-based-key-value-store
1423-maximum-number-of-occurrences-of-a-substring
1469-minimum-number-of-steps-to-make-two-strings-anagram
1547-destination-city
1798-max-number-of-k-sum-pairs
2372-rearrange-characters-to-make-target-string
2428-equal-row-and-column-pairs
2461-amount-of-time-for-binary-tree-to-be-infected
3329-find-the-length-of-the-longest-common-prefix

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
0042-trapping-rain-water
0061-rotate-list
0075-sort-colors
0086-partition-list
0088-merge-sorted-array
0125-valid-palindrome
0141-linked-list-cycle
0143-reorder-list
0167-two-sum-ii-input-array-is-sorted
0283-move-zeroes
0287-find-the-duplicate-number
0344-reverse-string
0556-next-greater-element-iii
0567-permutation-in-string
0611-valid-triangle-number
0680-valid-palindrome-ii
0908-middle-of-the-linked-list
1019-squares-of-a-sorted-array
1798-max-number-of-k-sum-pairs
1894-merge-strings-alternately

String

0003-longest-substring-without-repeating-characters
0005-longest-palindromic-substring
0014-longest-common-prefix
0017-letter-combinations-of-a-phone-number
0020-valid-parentheses
0022-generate-parentheses
0049-group-anagrams
0079-word-search
0125-valid-palindrome
0131-palindrome-partitioning
0208-implement-trie-prefix-tree
0211-design-add-and-search-words-data-structure
0212-word-search-ii
0242-valid-anagram
0344-reverse-string
0383-ransom-note
0394-decode-string
0409-longest-palindrome
0412-fizz-buzz
0424-longest-repeating-character-replacement
0438-find-all-anagrams-in-a-string
0556-next-greater-element-iii
0567-permutation-in-string
0678-valid-parenthesis-string
0680-valid-palindrome-ii
0886-score-of-parentheses
1023-time-based-key-value-store
1423-maximum-number-of-occurrences-of-a-substring
1469-minimum-number-of-steps-to-make-two-strings-anagram
1547-destination-city
1567-maximum-number-of-vowels-in-a-substring-of-given-length
1823-determine-if-string-halves-are-alike
1894-merge-strings-alternately
2292-counting-words-with-a-given-prefix
2337-remove-digit-from-number-to-maximize-result
2372-rearrange-characters-to-make-target-string
2470-removing-stars-from-a-string
2496-count-days-spent-together
3309-count-prefix-and-suffix-pairs-i
3329-find-the-length-of-the-longest-common-prefix
3379-score-of-a-string

Linked List

0002-add-two-numbers
0019-remove-nth-node-from-end-of-list
0021-merge-two-sorted-lists
0024-swap-nodes-in-pairs
0061-rotate-list
0086-partition-list
0138-copy-list-with-random-pointer
0141-linked-list-cycle
0143-reorder-list
0146-lru-cache
0203-remove-linked-list-elements
0206-reverse-linked-list
0328-odd-even-linked-list
0355-design-twitter
0908-middle-of-the-linked-list

Recursion

0002-add-two-numbers
0021-merge-two-sorted-lists
0024-swap-nodes-in-pairs
0143-reorder-list
0203-remove-linked-list-elements
0206-reverse-linked-list
0394-decode-string
1013-fibonacci-number

Tree

0094-binary-tree-inorder-traversal
0098-validate-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
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0107-binary-tree-level-order-traversal-ii
0110-balanced-binary-tree
0111-minimum-depth-of-binary-tree
0112-path-sum
0144-binary-tree-preorder-traversal
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
0530-minimum-absolute-difference-in-bst
0543-diameter-of-binary-tree
0572-subtree-of-another-tree
0617-merge-two-binary-trees
0789-kth-largest-element-in-a-stream
0896-smallest-subtree-with-all-the-deepest-nodes
1005-univalued-binary-tree
1035-cousins-in-binary-tree
1544-count-good-nodes-in-binary-tree
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
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
0130-surrounded-regions
0133-clone-graph
0144-binary-tree-preorder-traversal
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
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0417-pacific-atlantic-water-flow
0419-battleships-in-a-board
0463-island-perimeter
0530-minimum-absolute-difference-in-bst
0543-diameter-of-binary-tree
0572-subtree-of-another-tree
0617-merge-two-binary-trees
0684-redundant-connection
0695-max-area-of-island
0733-flood-fill
0896-smallest-subtree-with-all-the-deepest-nodes
1005-univalued-binary-tree
1035-cousins-in-binary-tree
1073-number-of-enclaves
1544-count-good-nodes-in-binary-tree
2035-count-sub-islands
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
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
0417-pacific-atlantic-water-flow
0463-island-perimeter
0530-minimum-absolute-difference-in-bst
0542-01-matrix
0617-merge-two-binary-trees
0684-redundant-connection
0695-max-area-of-island
0733-flood-fill
0896-smallest-subtree-with-all-the-deepest-nodes
1005-univalued-binary-tree
1035-cousins-in-binary-tree
1036-rotting-oranges
1073-number-of-enclaves
1117-as-far-from-land-as-possible
1171-shortest-path-in-binary-matrix
1544-count-good-nodes-in-binary-tree
1876-map-of-highest-peak
2035-count-sub-islands
2461-amount-of-time-for-binary-tree-to-be-infected

Binary Tree

0094-binary-tree-inorder-traversal
0098-validate-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
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0107-binary-tree-level-order-traversal-ii
0110-balanced-binary-tree
0111-minimum-depth-of-binary-tree
0112-path-sum
0144-binary-tree-preorder-traversal
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
0530-minimum-absolute-difference-in-bst
0543-diameter-of-binary-tree
0572-subtree-of-another-tree
0617-merge-two-binary-trees
0789-kth-largest-element-in-a-stream
0896-smallest-subtree-with-all-the-deepest-nodes
1005-univalued-binary-tree
1035-cousins-in-binary-tree
1544-count-good-nodes-in-binary-tree
2461-amount-of-time-for-binary-tree-to-be-infected

Sorting

0015-3sum
0016-3sum-closest
0018-4sum
0049-group-anagrams
0056-merge-intervals
0075-sort-colors
0088-merge-sorted-array
0169-majority-element
0215-kth-largest-element-in-an-array
0217-contains-duplicate
0242-valid-anagram
0347-top-k-frequent-elements
0435-non-overlapping-intervals
0452-minimum-number-of-arrows-to-burst-balloons
0594-longest-harmonious-subsequence
0611-valid-triangle-number
0621-task-scheduler
0883-car-fleet
1014-k-closest-points-to-origin
1019-squares-of-a-sorted-array
1675-magnetic-force-between-two-balls
1798-max-number-of-k-sum-pairs

Prefix Sum

0209-minimum-size-subarray-sum
0238-product-of-array-except-self
0410-split-array-largest-sum
1046-max-consecutive-ones-iii

Union Find

0128-longest-consecutive-sequence
0130-surrounded-regions
0200-number-of-islands
0684-redundant-connection
0695-max-area-of-island
1073-number-of-enclaves
2035-count-sub-islands

Divide and Conquer

0053-maximum-subarray
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0169-majority-element
0215-kth-largest-element-in-an-array
0347-top-k-frequent-elements
1014-k-closest-points-to-origin

Heap (Priority Queue)

0215-kth-largest-element-in-an-array
0347-top-k-frequent-elements
0355-design-twitter
0621-task-scheduler
0789-kth-largest-element-in-a-stream
1014-k-closest-points-to-origin
1127-last-stone-weight

Bucket Sort

0347-top-k-frequent-elements

Counting

0169-majority-element
0347-top-k-frequent-elements
0383-ransom-note
0594-longest-harmonious-subsequence
0621-task-scheduler
1469-minimum-number-of-steps-to-make-two-strings-anagram
1823-determine-if-string-halves-are-alike
2372-rearrange-characters-to-make-target-string

Quickselect

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

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
0409-longest-palindrome
0410-split-array-largest-sum
0435-non-overlapping-intervals
0452-minimum-number-of-arrows-to-burst-balloons
0605-can-place-flowers
0611-valid-triangle-number
0621-task-scheduler
0678-valid-parenthesis-string
0680-valid-palindrome-ii
2337-remove-digit-from-number-to-maximize-result

Stack

0020-valid-parentheses
0042-trapping-rain-water
0084-largest-rectangle-in-histogram
0094-binary-tree-inorder-traversal
0143-reorder-list
0144-binary-tree-preorder-traversal
0150-evaluate-reverse-polish-notation
0155-min-stack
0232-implement-queue-using-stacks
0394-decode-string
0496-next-greater-element-i
0503-next-greater-element-ii
0678-valid-parenthesis-string
0735-asteroid-collision
0739-daily-temperatures
0883-car-fleet
0886-score-of-parentheses
0937-online-stock-span
1570-final-prices-with-a-special-discount-in-a-shop
2470-removing-stars-from-a-string

Dynamic Programming

0005-longest-palindromic-substring
0022-generate-parentheses
0042-trapping-rain-water
0045-jump-game-ii
0053-maximum-subarray
0055-jump-game
0070-climbing-stairs
0121-best-time-to-buy-and-sell-stock
0122-best-time-to-buy-and-sell-stock-ii
0131-palindrome-partitioning
0152-maximum-product-subarray
0410-split-array-largest-sum
0435-non-overlapping-intervals
0542-01-matrix
0678-valid-parenthesis-string
1013-fibonacci-number
1117-as-far-from-land-as-possible
1586-longest-subarray-of-1s-after-deleting-one-element

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

Math

0002-add-two-numbers
0048-rotate-image
0070-climbing-stairs
0150-evaluate-reverse-polish-notation
0412-fizz-buzz
0556-next-greater-element-iii
1013-fibonacci-number
1014-k-closest-points-to-origin
1950-sign-of-the-product-of-an-array
2496-count-days-spent-together

Sliding Window

0003-longest-substring-without-repeating-characters
0209-minimum-size-subarray-sum
0424-longest-repeating-character-replacement
0438-find-all-anagrams-in-a-string
0567-permutation-in-string
0594-longest-harmonious-subsequence
0643-maximum-average-subarray-i
0940-fruit-into-baskets
1046-max-consecutive-ones-iii
1423-maximum-number-of-occurrences-of-a-substring
1567-maximum-number-of-vowels-in-a-substring-of-given-length
1586-longest-subarray-of-1s-after-deleting-one-element

Monotonic Stack

0042-trapping-rain-water
0084-largest-rectangle-in-histogram
0496-next-greater-element-i
0503-next-greater-element-ii
0739-daily-temperatures
0883-car-fleet
0937-online-stock-span
1570-final-prices-with-a-special-discount-in-a-shop

Design

0146-lru-cache
0155-min-stack
0208-implement-trie-prefix-tree
0211-design-add-and-search-words-data-structure
0232-implement-queue-using-stacks
0355-design-twitter
0729-my-calendar-i
0789-kth-largest-element-in-a-stream
0937-online-stock-span
1023-time-based-key-value-store

Binary Search

0033-search-in-rotated-sorted-array
0034-find-first-and-last-position-of-element-in-sorted-array
0074-search-a-2d-matrix
0153-find-minimum-in-rotated-sorted-array
0154-find-minimum-in-rotated-sorted-array-ii
0167-two-sum-ii-input-array-is-sorted
0209-minimum-size-subarray-sum
0222-count-complete-tree-nodes
0287-find-the-duplicate-number
0410-split-array-largest-sum
0611-valid-triangle-number
0729-my-calendar-i
0792-binary-search
0907-koko-eating-bananas
1023-time-based-key-value-store
1046-max-consecutive-ones-iii
1056-capacity-to-ship-packages-within-d-days
1408-find-the-smallest-divisor-given-a-threshold
1605-minimum-number-of-days-to-make-m-bouquets
1675-magnetic-force-between-two-balls
2665-minimum-time-to-repair-cars

Matrix

0036-valid-sudoku
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
0417-pacific-atlantic-water-flow
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
1117-as-far-from-land-as-possible
1171-shortest-path-in-binary-matrix
1876-map-of-highest-peak
2035-count-sub-islands
2428-equal-row-and-column-pairs

Bit Manipulation

0078-subsets
0090-subsets-ii
0222-count-complete-tree-nodes
0287-find-the-duplicate-number

Binary Search Tree

0098-validate-binary-search-tree
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0530-minimum-absolute-difference-in-bst
0789-kth-largest-element-in-a-stream

Simulation

0054-spiral-matrix
0412-fizz-buzz
0735-asteroid-collision
2058-concatenation-of-array
2428-equal-row-and-column-pairs
2470-removing-stars-from-a-string

Data Stream

0789-kth-largest-element-in-a-stream
0937-online-stock-span

Trie

0014-longest-common-prefix
0208-implement-trie-prefix-tree
0211-design-add-and-search-words-data-structure
0212-word-search-ii
3309-count-prefix-and-suffix-pairs-i
3329-find-the-length-of-the-longest-common-prefix

String Matching

0572-subtree-of-another-tree
2292-counting-words-with-a-given-prefix
3309-count-prefix-and-suffix-pairs-i

Rolling Hash

3309-count-prefix-and-suffix-pairs-i

Hash Function

0572-subtree-of-another-tree
3309-count-prefix-and-suffix-pairs-i

Graph

0133-clone-graph
0207-course-schedule
0210-course-schedule-ii
0684-redundant-connection

Topological Sort

0207-course-schedule
0210-course-schedule-ii

Doubly-Linked List

0146-lru-cache

Memoization

0070-climbing-stairs
1013-fibonacci-number

Enumeration

2337-remove-digit-from-number-to-maximize-result

Queue

0232-implement-queue-using-stacks

Geometry

1014-k-closest-points-to-origin

Segment Tree

0729-my-calendar-i

Ordered Set

0729-my-calendar-i

About

A repository of the LeetCode problems I have solved.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages