Skip to content

About

DSA Leetcode with c/c++

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

1,814 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to DSA WITH LEETCODE 🙆🏻

LeetCode Topics

LeetCode Topics👇🏻

Problem Name Difficulty

Array

Problem Name Difficulty
0001-two-sum
0004-median-of-two-sorted-arrays
0026-remove-duplicates-from-sorted-array
0033-search-in-rotated-sorted-array
0034-find-first-and-last-position-of-element-in-sorted-array
0035-search-insert-position
0053-maximum-subarray Medium
0063-unique-paths-ii Medium
0064-minimum-path-sum
0079-word-search
0081-search-in-rotated-sorted-array-ii
0084-largest-rectangle-in-histogram
0085-maximal-rectangle
0088-merge-sorted-array
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0108-convert-sorted-array-to-binary-search-tree Easy
0120-triangle Medium
0152-maximum-product-subarray Medium
0153-find-minimum-in-rotated-sorted-array
0162-find-peak-element
0167-two-sum-ii-input-array-is-sorted
0189-rotate-array
0198-house-robber Medium
0200-number-of-islands Medium
0209-minimum-size-subarray-sum Medium
0215-kth-largest-element-in-an-array
0221-maximal-square
0239-sliding-window-maximum
0274-h-index
0275-h-index-ii
0287-find-the-duplicate-number Medium
0289-game-of-life
0303-range-sum-query-immutable Easy
0410-split-array-largest-sum
0413-arithmetic-slices Medium
0416-partition-equal-subset-sum Medium
0442-find-all-duplicates-in-an-array
0455-assign-cookies Easy
0463-island-perimeter Easy
0494-target-sum Medium
0496-next-greater-element-i
0503-next-greater-element-ii
0540-single-element-in-a-sorted-array
0561-array-partition
0594-longest-harmonious-subsequence Easy
0641-design-circular-deque
0654-maximum-binary-tree Medium
0735-asteroid-collision
0746-min-cost-climbing-stairs Easy
0835-image-overlap Medium
0875-koko-eating-bananas
0889-construct-binary-tree-from-preorder-and-postorder-traversal Medium
0907-sum-of-subarray-minimums
0918-maximum-sum-circular-subarray Medium
0931-minimum-falling-path-sum Medium
0950-reveal-cards-in-increasing-order
1008-construct-binary-search-tree-from-preorder-traversal Medium
1011-capacity-to-ship-packages-within-d-days
1019-next-greater-node-in-linked-list
1046-last-stone-weight
1049-last-stone-weight-ii Medium
1051-height-checker
1122-relative-sort-array
1140-stone-game-ii Medium
1254-number-of-closed-islands Medium
1283-find-the-smallest-divisor-given-a-threshold
1288-remove-covered-intervals Medium
1331-rank-transform-of-an-array Easy
1365-how-many-numbers-are-smaller-than-the-current-number
1386-cinema-seat-allocation Medium
1477-find-two-non-overlapping-sub-arrays-each-with-target-sum Medium
1482-minimum-number-of-days-to-make-m-bouquets
1539-kth-missing-positive-number
1563-stone-game-v Hard
1670-design-front-middle-back-queue
1700-number-of-students-unable-to-eat-lunch
1807-evaluate-the-bracket-pairs-of-a-string Medium
1901-find-a-peak-element-ii
1929-concatenation-of-array
1967-number-of-strings-that-appear-as-substrings-in-word Easy
2029-stone-game-ix Medium
2037-minimum-number-of-moves-to-seat-everyone
2089-find-target-indices-after-sorting-array Easy
2104-sum-of-subarray-ranges
2213-longest-substring-of-one-repeating-character Hard
2267-check-if-there-is-a-valid-parentheses-string-path Hard
2333-minimum-sum-of-squared-difference Medium
2778-sum-of-squares-of-special-elements Easy
2812-find-the-safest-path-in-a-grid Medium
2897-apply-operations-on-array-to-maximize-sum-of-squares Hard
2913-subarrays-distinct-element-sum-of-squares-i Easy
2916-subarrays-distinct-element-sum-of-squares-ii Hard
2948-make-lexicographically-smallest-array-by-swapping-elements Medium
2958-length-of-longest-subarray-with-at-most-k-frequency Medium
2996-smallest-missing-integer-greater-than-sequential-prefix-sum Easy
3116-kth-smallest-amount-with-single-denomination-combination Hard
3217-delete-nodes-from-linked-list-present-in-array
3312-sorted-gcd-pair-queries Hard
3364-minimum-positive-sum-subarray Easy
3414-maximum-score-of-non-overlapping-intervals Hard
3471-find-the-largest-almost-missing-integer Easy
3483-unique-3-digit-even-numbers Easy
3513-number-of-unique-xor-triplets-i Medium
3532-path-existence-queries-in-a-graph-i Medium
3534-path-existence-queries-in-a-graph-ii Hard
3551-minimum-swaps-to-sort-by-digit-sum Medium
3568-minimum-moves-to-clean-the-classroom Medium
3644-maximum-k-to-sort-a-permutation Medium
3702-longest-subsequence-with-non-zero-bitwise-xor Medium
3719-longest-balanced-subarray-i Medium
3727-maximum-alternating-sum-of-squares Medium
3759-count-elements-with-at-least-k-greater-values Medium
3841-palindromic-path-queries-in-a-tree Hard
3867-sum-of-gcd-of-formed-pairs Medium
3875-construct-uniform-parity-array-i Easy
3876-construct-uniform-parity-array-ii Medium
3882-minimum-xor-path-in-a-grid Medium
3886-sum-of-sortable-integers Hard
3898-find-the-degree-of-each-vertex Easy
3942-minimum-operations-to-sort-a-permutation Medium

Hash Table

Problem Name Difficulty
0001-two-sum
0003-longest-substring-without-repeating-characters Medium
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0127-word-ladder Hard
0133-clone-graph Medium
0141-linked-list-cycle
0142-linked-list-cycle-ii
0160-intersection-of-two-linked-lists
0187-repeated-dna-sequences Medium
0202-happy-number Easy
0242-valid-anagram
0290-word-pattern
0383-ransom-note
0387-first-unique-character-in-a-string
0395-longest-substring-with-at-least-k-repeating-characters Medium
0424-longest-repeating-character-replacement Medium
0442-find-all-duplicates-in-an-array
0496-next-greater-element-i
0594-longest-harmonious-subsequence Easy
0652-find-duplicate-subtrees Medium
0653-two-sum-iv-input-is-a-bst Easy
0863-all-nodes-distance-k-in-binary-tree Medium
0889-construct-binary-tree-from-preorder-and-postorder-traversal Medium
0987-vertical-order-traversal-of-a-binary-tree Hard
1122-relative-sort-array
1331-rank-transform-of-an-array Easy
1358-number-of-substrings-containing-all-three-characters Medium
1365-how-many-numbers-are-smaller-than-the-current-number
1386-cinema-seat-allocation Medium
1477-find-two-non-overlapping-sub-arrays-each-with-target-sum Medium
1763-longest-nice-substring Easy
1807-evaluate-the-bracket-pairs-of-a-string Medium
2897-apply-operations-on-array-to-maximize-sum-of-squares Hard
2913-subarrays-distinct-element-sum-of-squares-i Easy
2916-subarrays-distinct-element-sum-of-squares-ii Hard
2958-length-of-longest-subarray-with-at-most-k-frequency Medium
2996-smallest-missing-integer-greater-than-sequential-prefix-sum Easy
3090-maximum-length-substring-with-two-occurrences Easy
3217-delete-nodes-from-linked-list-present-in-array
3312-sorted-gcd-pair-queries Hard
3471-find-the-largest-almost-missing-integer Easy
3483-unique-3-digit-even-numbers Easy
3518-smallest-palindromic-rearrangement-ii Hard
3532-path-existence-queries-in-a-graph-i Medium
3551-minimum-swaps-to-sort-by-digit-sum Medium
3568-minimum-moves-to-clean-the-classroom Medium
3719-longest-balanced-subarray-i Medium

Math

Problem Name Difficulty
0002-add-two-numbers
0009-palindrome-number
0062-unique-paths Medium
0069-sqrtx
0070-climbing-stairs Easy
0096-unique-binary-search-trees Medium
0189-rotate-array
0202-happy-number Easy
0224-basic-calculator
0227-basic-calculator-ii
0367-valid-perfect-square
0372-super-pow Medium
0445-add-two-numbers-ii Medium
0509-fibonacci-number Easy
1013-fibonacci-number
1140-stone-game-ii Medium
1401-circle-and-rectangle-overlapping Medium
1563-stone-game-v Hard
1621-number-of-sets-of-k-non-overlapping-line-segments Medium
1922-count-good-numbers Medium
1927-sum-game Medium
2029-stone-game-ix Medium
2409-count-days-spent-together Easy
3116-kth-smallest-amount-with-single-denomination-combination Hard
3312-sorted-gcd-pair-queries Hard
3345-smallest-divisible-digit-product-i Easy
3348-smallest-divisible-digit-product-ii Hard
3513-number-of-unique-xor-triplets-i Medium
3518-smallest-palindromic-rearrangement-ii Hard
3622-check-divisibility-by-digit-sum-and-product Easy
3756-concatenate-non-zero-digits-and-multiply-by-sum-ii Medium
3867-sum-of-gcd-of-formed-pairs Medium
3870-count-commas-in-range Easy
3875-construct-uniform-parity-array-i Easy
3876-construct-uniform-parity-array-ii Medium
3886-sum-of-sortable-integers Hard

Greedy

Problem Name Difficulty
0316-remove-duplicate-letters
0402-remove-k-digits
0410-split-array-largest-sum
0455-assign-cookies Easy
0561-array-partition
0678-valid-parenthesis-string Medium
0921-minimum-add-to-make-parentheses-valid Medium
1386-cinema-seat-allocation Medium
1541-minimum-insertions-to-balance-a-parentheses-string Medium
1927-sum-game Medium
2029-stone-game-ix Medium
2037-minimum-number-of-moves-to-seat-everyone
2333-minimum-sum-of-squared-difference Medium
2472-maximum-number-of-non-overlapping-palindrome-substrings Hard
2897-apply-operations-on-array-to-maximize-sum-of-squares Hard
3302-find-the-lexicographically-smallest-valid-sequence Medium
3348-smallest-divisible-digit-product-ii Hard
3474-lexicographically-smallest-generated-string
3534-path-existence-queries-in-a-graph-ii Hard
3727-maximum-alternating-sum-of-squares Medium

Sorting

Problem Name Difficulty
0088-merge-sorted-array
0147-insertion-sort-list
0215-kth-largest-element-in-an-array
0242-valid-anagram
0274-h-index
0442-find-all-duplicates-in-an-array
0455-assign-cookies Easy
0561-array-partition
0594-longest-harmonious-subsequence Easy
0950-reveal-cards-in-increasing-order
0987-vertical-order-traversal-of-a-binary-tree Hard
1051-height-checker
1122-relative-sort-array
1288-remove-covered-intervals Medium
1331-rank-transform-of-an-array Easy
1365-how-many-numbers-are-smaller-than-the-current-number
2037-minimum-number-of-moves-to-seat-everyone
2089-find-target-indices-after-sorting-array Easy
2333-minimum-sum-of-squared-difference Medium
2948-make-lexicographically-smallest-array-by-swapping-elements Medium
2996-smallest-missing-integer-greater-than-sequential-prefix-sum Easy
3414-maximum-score-of-non-overlapping-intervals Hard
3517-smallest-palindromic-rearrangement-i
3534-path-existence-queries-in-a-graph-ii Hard
3551-minimum-swaps-to-sort-by-digit-sum Medium
3727-maximum-alternating-sum-of-squares Medium
3759-count-elements-with-at-least-k-greater-values Medium
3867-sum-of-gcd-of-formed-pairs Medium
3886-sum-of-sortable-integers Hard

Counting Sort

Problem Name Difficulty
0274-h-index
0383-ransom-note
0387-first-unique-character-in-a-string
0561-array-partition
0594-longest-harmonious-subsequence Easy
1051-height-checker
1122-relative-sort-array
1365-how-many-numbers-are-smaller-than-the-current-number
2029-stone-game-ix Medium
2037-minimum-number-of-moves-to-seat-everyone
3312-sorted-gcd-pair-queries Hard
3517-smallest-palindromic-rearrangement-i
3518-smallest-palindromic-rearrangement-ii Hard

Binary Search

Problem Name Difficulty
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
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 Medium
0222-count-complete-tree-nodes Easy
0275-h-index-ii
0278-first-bad-version
0287-find-the-duplicate-number Medium
0367-valid-perfect-square
0374-guess-number-higher-or-lower Easy
0410-split-array-largest-sum
0540-single-element-in-a-sorted-array
0875-koko-eating-bananas
1011-capacity-to-ship-packages-within-d-days
1283-find-the-smallest-divisor-given-a-threshold
1477-find-two-non-overlapping-sub-arrays-each-with-target-sum Medium
1482-minimum-number-of-days-to-make-m-bouquets
1539-kth-missing-positive-number
1901-find-a-peak-element-ii
2089-find-target-indices-after-sorting-array Easy
2333-minimum-sum-of-squared-difference Medium
2812-find-the-safest-path-in-a-grid Medium
3116-kth-smallest-amount-with-single-denomination-combination Hard
3312-sorted-gcd-pair-queries Hard
3414-maximum-score-of-non-overlapping-intervals Hard
3532-path-existence-queries-in-a-graph-i Medium
3534-path-existence-queries-in-a-graph-ii Hard
3759-count-elements-with-at-least-k-greater-values Medium

Divide and Conquer

Problem Name Difficulty
0004-median-of-two-sorted-arrays
0023-merge-k-sorted-lists
0053-maximum-subarray Medium
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0108-convert-sorted-array-to-binary-search-tree Easy
0109-convert-sorted-list-to-binary-search-tree
0190-reverse-bits Easy
0191-number-of-1-bits Easy
0215-kth-largest-element-in-an-array
0372-super-pow Medium
0395-longest-substring-with-at-least-k-repeating-characters Medium
0654-maximum-binary-tree Medium
0889-construct-binary-tree-from-preorder-and-postorder-traversal Medium
0918-maximum-sum-circular-subarray Medium
1763-longest-nice-substring Easy
3719-longest-balanced-subarray-i Medium
3759-count-elements-with-at-least-k-greater-values Medium
3841-palindromic-path-queries-in-a-tree Hard

Two Pointers

Problem Name Difficulty
0005-longest-palindromic-substring Medium
0019-remove-nth-node-from-end-of-list
0026-remove-duplicates-from-sorted-array
0061-rotate-list
0082-remove-duplicates-from-sorted-list-ii
0086-partition-list
0088-merge-sorted-array
0141-linked-list-cycle
0142-linked-list-cycle-ii
0143-reorder-list
0160-intersection-of-two-linked-lists
0167-two-sum-ii-input-array-is-sorted
0189-rotate-array
0202-happy-number Easy
0234-palindrome-linked-list
0287-find-the-duplicate-number Medium
0455-assign-cookies Easy
0653-two-sum-iv-input-is-a-bst Easy
0876-middle-of-the-linked-list
1721-swapping-nodes-in-a-linked-list
2095-delete-the-middle-node-of-a-linked-list
2472-maximum-number-of-non-overlapping-palindrome-substrings Hard
3302-find-the-lexicographically-smallest-valid-sequence Medium
3534-path-existence-queries-in-a-graph-ii Hard
3867-sum-of-gcd-of-formed-pairs Medium

Dynamic Programming

Problem Name Difficulty
0005-longest-palindromic-substring Medium
0010-regular-expression-matching Hard
0022-generate-parentheses Medium
0032-longest-valid-parentheses Hard
0053-maximum-subarray Medium
0062-unique-paths Medium
0063-unique-paths-ii Medium
0064-minimum-path-sum
0070-climbing-stairs Easy
0085-maximal-rectangle
0095-unique-binary-search-trees-ii Medium
0096-unique-binary-search-trees Medium
0120-triangle Medium
0124-binary-tree-maximum-path-sum Hard
0131-palindrome-partitioning Medium
0152-maximum-product-subarray Medium
0198-house-robber Medium
0221-maximal-square
0410-split-array-largest-sum
0413-arithmetic-slices Medium
0416-partition-equal-subset-sum Medium
0494-target-sum Medium
0509-fibonacci-number Easy
0583-delete-operation-for-two-strings Medium
0678-valid-parenthesis-string Medium
0746-min-cost-climbing-stairs Easy
0787-cheapest-flights-within-k-stops Medium
0907-sum-of-subarray-minimums
0918-maximum-sum-circular-subarray Medium
0931-minimum-falling-path-sum Medium
1013-fibonacci-number
1049-last-stone-weight-ii Medium
1140-stone-game-ii Medium
1373-maximum-sum-bst-in-binary-tree Hard
1477-find-two-non-overlapping-sub-arrays-each-with-target-sum Medium
1563-stone-game-v Hard
1621-number-of-sets-of-k-non-overlapping-line-segments Medium
2267-check-if-there-is-a-valid-parentheses-string-path Hard
2472-maximum-number-of-non-overlapping-palindrome-substrings Hard
3302-find-the-lexicographically-smallest-valid-sequence Medium
3414-maximum-score-of-non-overlapping-intervals Hard
3534-path-existence-queries-in-a-graph-ii Hard
3882-minimum-xor-path-in-a-grid Medium

Recursion

Problem Name Difficulty
0002-add-two-numbers
0010-regular-expression-matching Hard
0024-swap-nodes-in-pairs
0143-reorder-list
0203-remove-linked-list-elements
0206-reverse-linked-list
0224-basic-calculator
0234-palindrome-linked-list
0509-fibonacci-number Easy
1013-fibonacci-number
1922-count-good-numbers Medium
3483-unique-3-digit-even-numbers Easy

Memoization

Problem Name Difficulty
0070-climbing-stairs Easy
0509-fibonacci-number Easy
1013-fibonacci-number

Matrix

Problem Name Difficulty
0063-unique-paths-ii Medium
0064-minimum-path-sum
0079-word-search
0085-maximal-rectangle
0200-number-of-islands Medium
0221-maximal-square
0289-game-of-life
0463-island-perimeter Easy
0835-image-overlap Medium
0931-minimum-falling-path-sum Medium
1254-number-of-closed-islands Medium
1901-find-a-peak-element-ii
2267-check-if-there-is-a-valid-parentheses-string-path Hard
2812-find-the-safest-path-in-a-grid Medium
3568-minimum-moves-to-clean-the-classroom Medium
3882-minimum-xor-path-in-a-grid Medium
3898-find-the-degree-of-each-vertex Easy

String

Problem Name Difficulty
0003-longest-substring-without-repeating-characters Medium
0005-longest-palindromic-substring Medium
0010-regular-expression-matching Hard
0020-valid-parentheses
0022-generate-parentheses Medium
0032-longest-valid-parentheses Hard
0071-simplify-path
0079-word-search
0127-word-ladder Hard
0131-palindrome-partitioning Medium
0187-repeated-dna-sequences Medium
0224-basic-calculator
0227-basic-calculator-ii
0242-valid-anagram
0257-binary-tree-paths Easy
0290-word-pattern
0297-serialize-and-deserialize-binary-tree Hard
0301-remove-invalid-parentheses Hard
0316-remove-duplicate-letters
0383-ransom-note
0387-first-unique-character-in-a-string
0395-longest-substring-with-at-least-k-repeating-characters Medium
0402-remove-k-digits
0424-longest-repeating-character-replacement Medium
0583-delete-operation-for-two-strings Medium
0657-robot-return-to-origin
0678-valid-parenthesis-string Medium
0856-score-of-parentheses Medium
0921-minimum-add-to-make-parentheses-valid Medium
1021-remove-outermost-parentheses Easy
1047-remove-all-adjacent-duplicates-in-string
1111-maximum-nesting-depth-of-two-valid-parentheses-strings Medium
1358-number-of-substrings-containing-all-three-characters Medium
1541-minimum-insertions-to-balance-a-parentheses-string Medium
1614-maximum-nesting-depth-of-the-parentheses Easy
1763-longest-nice-substring Easy
1807-evaluate-the-bracket-pairs-of-a-string Medium
1927-sum-game Medium
1967-number-of-strings-that-appear-as-substrings-in-word Easy
2213-longest-substring-of-one-repeating-character Hard
2409-count-days-spent-together Easy
2472-maximum-number-of-non-overlapping-palindrome-substrings Hard
3090-maximum-length-substring-with-two-occurrences Easy
3302-find-the-lexicographically-smallest-valid-sequence Medium
3348-smallest-divisible-digit-product-ii Hard
3474-lexicographically-smallest-generated-string
3517-smallest-palindromic-rearrangement-i
3518-smallest-palindromic-rearrangement-ii Hard
3756-concatenate-non-zero-digits-and-multiply-by-sum-ii Medium
3841-palindromic-path-queries-in-a-tree Hard
3863-minimum-operations-to-sort-a-string Medium
3970-shortest-path-with-at-most-k-consecutive-identical-characters Medium

Stack

Problem Name Difficulty
0020-valid-parentheses
0032-longest-valid-parentheses Hard
0071-simplify-path
0084-largest-rectangle-in-histogram
0085-maximal-rectangle
0094-binary-tree-inorder-traversal Easy
0114-flatten-binary-tree-to-linked-list Medium
0143-reorder-list
0144-binary-tree-preorder-traversal Easy
0145-binary-tree-postorder-traversal Easy
0155-min-stack
0173-binary-search-tree-iterator Medium
0224-basic-calculator
0225-implement-stack-using-queues
0227-basic-calculator-ii
0232-implement-queue-using-stacks
0234-palindrome-linked-list
0316-remove-duplicate-letters
0402-remove-k-digits
0445-add-two-numbers-ii Medium
0496-next-greater-element-i
0503-next-greater-element-ii
0654-maximum-binary-tree Medium
0678-valid-parenthesis-string Medium
0735-asteroid-collision
0856-score-of-parentheses Medium
0897-increasing-order-search-tree
0901-online-stock-span
0907-sum-of-subarray-minimums
0921-minimum-add-to-make-parentheses-valid Medium
1008-construct-binary-search-tree-from-preorder-traversal Medium
1019-next-greater-node-in-linked-list
1021-remove-outermost-parentheses Easy
1047-remove-all-adjacent-duplicates-in-string
1111-maximum-nesting-depth-of-two-valid-parentheses-strings Medium
1541-minimum-insertions-to-balance-a-parentheses-string Medium
1614-maximum-nesting-depth-of-the-parentheses Easy
1700-number-of-students-unable-to-eat-lunch
2104-sum-of-subarray-ranges

Interactive

Problem Name Difficulty
0278-first-bad-version
0374-guess-number-higher-or-lower Easy

Monotonic Stack

Problem Name Difficulty
0084-largest-rectangle-in-histogram
0085-maximal-rectangle
0316-remove-duplicate-letters
0402-remove-k-digits
0496-next-greater-element-i
0503-next-greater-element-ii
0654-maximum-binary-tree Medium
0901-online-stock-span
0907-sum-of-subarray-minimums
1008-construct-binary-search-tree-from-preorder-traversal Medium
1019-next-greater-node-in-linked-list
2104-sum-of-subarray-ranges

Simulation

Problem Name Difficulty
0289-game-of-life
0657-robot-return-to-origin
0735-asteroid-collision
0950-reveal-cards-in-increasing-order
1700-number-of-students-unable-to-eat-lunch
1929-concatenation-of-array
3867-sum-of-gcd-of-formed-pairs Medium

Linked List

Problem Name Difficulty
0002-add-two-numbers
0019-remove-nth-node-from-end-of-list
0023-merge-k-sorted-lists
0024-swap-nodes-in-pairs
0061-rotate-list
0082-remove-duplicates-from-sorted-list-ii
0083-remove-duplicates-from-sorted-list
0086-partition-list
0092-reverse-linked-list-ii
0109-convert-sorted-list-to-binary-search-tree
0114-flatten-binary-tree-to-linked-list Medium
0141-linked-list-cycle
0142-linked-list-cycle-ii
0143-reorder-list
0147-insertion-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 Medium
0641-design-circular-deque
0876-middle-of-the-linked-list
1019-next-greater-node-in-linked-list
1670-design-front-middle-back-queue
1721-swapping-nodes-in-a-linked-list
2058-find-the-minimum-and-maximum-number-of-nodes-between-critical-points Medium
2095-delete-the-middle-node-of-a-linked-list
3217-delete-nodes-from-linked-list-present-in-array

Prefix Sum

Problem Name Difficulty
0209-minimum-size-subarray-sum Medium
0303-range-sum-query-immutable Easy
0410-split-array-largest-sum
1140-stone-game-ii Medium
1621-number-of-sets-of-k-non-overlapping-line-segments Medium
3312-sorted-gcd-pair-queries Hard
3364-minimum-positive-sum-subarray Easy
3719-longest-balanced-subarray-i Medium
3756-concatenate-non-zero-digits-and-multiply-by-sum-ii Medium

Heap (Priority Queue)

Problem Name Difficulty
0023-merge-k-sorted-lists
0215-kth-largest-element-in-an-array
0239-sliding-window-maximum
0787-cheapest-flights-within-k-stops Medium
1046-last-stone-weight
2333-minimum-sum-of-squared-difference Medium
2812-find-the-safest-path-in-a-grid Medium
3970-shortest-path-with-at-most-k-consecutive-identical-characters Medium

Merge Sort

Problem Name Difficulty
0023-merge-k-sorted-lists

Tree

Problem Name Difficulty
0094-binary-tree-inorder-traversal Easy
0095-unique-binary-search-trees-ii Medium
0096-unique-binary-search-trees Medium
0098-validate-binary-search-tree Medium
0099-recover-binary-search-tree Medium
0100-same-tree Easy
0101-symmetric-tree Easy
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal Medium
0104-maximum-depth-of-binary-tree Easy
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0108-convert-sorted-array-to-binary-search-tree Easy
0109-convert-sorted-list-to-binary-search-tree
0110-balanced-binary-tree Easy
0111-minimum-depth-of-binary-tree Easy
0112-path-sum Easy
0113-path-sum-ii Medium
0114-flatten-binary-tree-to-linked-list Medium
0124-binary-tree-maximum-path-sum Hard
0129-sum-root-to-leaf-numbers Medium
0144-binary-tree-preorder-traversal Easy
0145-binary-tree-postorder-traversal Easy
0173-binary-search-tree-iterator Medium
0199-binary-tree-right-side-view Medium
0222-count-complete-tree-nodes Easy
0230-kth-smallest-element-in-a-bst Medium
0235-lowest-common-ancestor-of-a-binary-search-tree Medium
0236-lowest-common-ancestor-of-a-binary-tree Medium
0257-binary-tree-paths Easy
0297-serialize-and-deserialize-binary-tree Hard
0404-sum-of-left-leaves Easy
0450-delete-node-in-a-bst Medium
0515-find-largest-value-in-each-tree-row Medium
0530-minimum-absolute-difference-in-bst Easy
0543-diameter-of-binary-tree Easy
0623-add-one-row-to-tree Medium
0652-find-duplicate-subtrees Medium
0653-two-sum-iv-input-is-a-bst Easy
0654-maximum-binary-tree Medium
0655-print-binary-tree Medium
0662-maximum-width-of-binary-tree Medium
0700-search-in-a-binary-search-tree Easy
0701-insert-into-a-binary-search-tree Medium
0863-all-nodes-distance-k-in-binary-tree Medium
0872-leaf-similar-trees Easy
0889-construct-binary-tree-from-preorder-and-postorder-traversal Medium
0897-increasing-order-search-tree
0987-vertical-order-traversal-of-a-binary-tree Hard
1008-construct-binary-search-tree-from-preorder-traversal Medium
1022-sum-of-root-to-leaf-binary-numbers Easy
1373-maximum-sum-bst-in-binary-tree Hard
3841-palindromic-path-queries-in-a-tree Hard

Binary Search Tree

Problem Name Difficulty
0095-unique-binary-search-trees-ii Medium
0096-unique-binary-search-trees Medium
0098-validate-binary-search-tree Medium
0099-recover-binary-search-tree Medium
0108-convert-sorted-array-to-binary-search-tree Easy
0109-convert-sorted-list-to-binary-search-tree
0173-binary-search-tree-iterator Medium
0230-kth-smallest-element-in-a-bst Medium
0235-lowest-common-ancestor-of-a-binary-search-tree Medium
0450-delete-node-in-a-bst Medium
0530-minimum-absolute-difference-in-bst Easy
0653-two-sum-iv-input-is-a-bst Easy
0700-search-in-a-binary-search-tree Easy
0701-insert-into-a-binary-search-tree Medium
0897-increasing-order-search-tree
1008-construct-binary-search-tree-from-preorder-traversal Medium
1373-maximum-sum-bst-in-binary-tree Hard

Binary Tree

Problem Name Difficulty
0094-binary-tree-inorder-traversal Easy
0095-unique-binary-search-trees-ii Medium
0096-unique-binary-search-trees Medium
0098-validate-binary-search-tree Medium
0099-recover-binary-search-tree Medium
0100-same-tree Easy
0101-symmetric-tree Easy
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal Medium
0104-maximum-depth-of-binary-tree Easy
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0108-convert-sorted-array-to-binary-search-tree Easy
0109-convert-sorted-list-to-binary-search-tree
0110-balanced-binary-tree Easy
0111-minimum-depth-of-binary-tree Easy
0112-path-sum Easy
0113-path-sum-ii Medium
0114-flatten-binary-tree-to-linked-list Medium
0124-binary-tree-maximum-path-sum Hard
0129-sum-root-to-leaf-numbers Medium
0144-binary-tree-preorder-traversal Easy
0145-binary-tree-postorder-traversal Easy
0173-binary-search-tree-iterator Medium
0199-binary-tree-right-side-view Medium
0222-count-complete-tree-nodes Easy
0230-kth-smallest-element-in-a-bst Medium
0235-lowest-common-ancestor-of-a-binary-search-tree Medium
0236-lowest-common-ancestor-of-a-binary-tree Medium
0257-binary-tree-paths Easy
0297-serialize-and-deserialize-binary-tree Hard
0404-sum-of-left-leaves Easy
0450-delete-node-in-a-bst Medium
0515-find-largest-value-in-each-tree-row Medium
0530-minimum-absolute-difference-in-bst Easy
0543-diameter-of-binary-tree Easy
0623-add-one-row-to-tree Medium
0652-find-duplicate-subtrees Medium
0653-two-sum-iv-input-is-a-bst Easy
0654-maximum-binary-tree Medium
0655-print-binary-tree Medium
0662-maximum-width-of-binary-tree Medium
0700-search-in-a-binary-search-tree Easy
0701-insert-into-a-binary-search-tree Medium
0863-all-nodes-distance-k-in-binary-tree Medium
0872-leaf-similar-trees Easy
0889-construct-binary-tree-from-preorder-and-postorder-traversal Medium
0897-increasing-order-search-tree
0987-vertical-order-traversal-of-a-binary-tree Hard
1008-construct-binary-search-tree-from-preorder-traversal Medium
1022-sum-of-root-to-leaf-binary-numbers Easy
1373-maximum-sum-bst-in-binary-tree Hard

Design

Problem Name Difficulty
0155-min-stack
0173-binary-search-tree-iterator Medium
0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0297-serialize-and-deserialize-binary-tree Hard
0303-range-sum-query-immutable Easy
0641-design-circular-deque
0901-online-stock-span
0933-number-of-recent-calls
1670-design-front-middle-back-queue

Queue

Problem Name Difficulty
0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0239-sliding-window-maximum
0387-first-unique-character-in-a-string
0641-design-circular-deque
0918-maximum-sum-circular-subarray Medium
0933-number-of-recent-calls
0950-reveal-cards-in-increasing-order
1670-design-front-middle-back-queue
1700-number-of-students-unable-to-eat-lunch

Data Stream

Problem Name Difficulty
0901-online-stock-span
0933-number-of-recent-calls
1670-design-front-middle-back-queue

Depth-First Search

Problem Name Difficulty
0079-word-search
0094-binary-tree-inorder-traversal Easy
0098-validate-binary-search-tree Medium
0099-recover-binary-search-tree Medium
0100-same-tree Easy
0101-symmetric-tree Easy
0104-maximum-depth-of-binary-tree Easy
0110-balanced-binary-tree Easy
0111-minimum-depth-of-binary-tree Easy
0112-path-sum Easy
0113-path-sum-ii Medium
0114-flatten-binary-tree-to-linked-list Medium
0124-binary-tree-maximum-path-sum Hard
0129-sum-root-to-leaf-numbers Medium
0133-clone-graph Medium
0144-binary-tree-preorder-traversal Easy
0145-binary-tree-postorder-traversal Easy
0199-binary-tree-right-side-view Medium
0200-number-of-islands Medium
0230-kth-smallest-element-in-a-bst Medium
0235-lowest-common-ancestor-of-a-binary-search-tree Medium
0236-lowest-common-ancestor-of-a-binary-tree Medium
0257-binary-tree-paths Easy
0297-serialize-and-deserialize-binary-tree Hard
0404-sum-of-left-leaves Easy
0463-island-perimeter Easy
0515-find-largest-value-in-each-tree-row Medium
0530-minimum-absolute-difference-in-bst Easy
0543-diameter-of-binary-tree Easy
0623-add-one-row-to-tree Medium
0652-find-duplicate-subtrees Medium
0653-two-sum-iv-input-is-a-bst Easy
0655-print-binary-tree Medium
0662-maximum-width-of-binary-tree Medium
0684-redundant-connection Medium
0787-cheapest-flights-within-k-stops Medium
0863-all-nodes-distance-k-in-binary-tree Medium
0872-leaf-similar-trees Easy
0897-increasing-order-search-tree
0987-vertical-order-traversal-of-a-binary-tree Hard
1022-sum-of-root-to-leaf-binary-numbers Easy
1254-number-of-closed-islands Medium
1373-maximum-sum-bst-in-binary-tree Hard
2685-count-the-number-of-complete-components Medium
3841-palindromic-path-queries-in-a-tree Hard

String Matching

Problem Name Difficulty
3474-lexicographically-smallest-generated-string

Doubly-Linked List

Problem Name Difficulty
1670-design-front-middle-back-queue

Sliding Window

Problem Name Difficulty
0003-longest-substring-without-repeating-characters Medium
0187-repeated-dna-sequences Medium
0209-minimum-size-subarray-sum Medium
0239-sliding-window-maximum
0395-longest-substring-with-at-least-k-repeating-characters Medium
0413-arithmetic-slices Medium
0424-longest-repeating-character-replacement Medium
0594-longest-harmonious-subsequence Easy
1358-number-of-substrings-containing-all-three-characters Medium
1477-find-two-non-overlapping-sub-arrays-each-with-target-sum Medium
1763-longest-nice-substring Easy
2958-length-of-longest-subarray-with-at-most-k-frequency Medium
3090-maximum-length-substring-with-two-occurrences Easy
3364-minimum-positive-sum-subarray Easy

Monotonic Queue

Problem Name Difficulty
0239-sliding-window-maximum
0918-maximum-sum-circular-subarray Medium

Quickselect

Problem Name Difficulty
0215-kth-largest-element-in-an-array
3759-count-elements-with-at-least-k-greater-values Medium

Breadth-First Search

Problem Name Difficulty
0100-same-tree Easy
0101-symmetric-tree Easy
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal Medium
0104-maximum-depth-of-binary-tree Easy
0111-minimum-depth-of-binary-tree Easy
0112-path-sum Easy
0127-word-ladder Hard
0133-clone-graph Medium
0199-binary-tree-right-side-view Medium
0200-number-of-islands Medium
0297-serialize-and-deserialize-binary-tree Hard
0301-remove-invalid-parentheses Hard
0404-sum-of-left-leaves Easy
0463-island-perimeter Easy
0515-find-largest-value-in-each-tree-row Medium
0530-minimum-absolute-difference-in-bst Easy
0623-add-one-row-to-tree Medium
0653-two-sum-iv-input-is-a-bst Easy
0655-print-binary-tree Medium
0662-maximum-width-of-binary-tree Medium
0684-redundant-connection Medium
0787-cheapest-flights-within-k-stops Medium
0863-all-nodes-distance-k-in-binary-tree Medium
0987-vertical-order-traversal-of-a-binary-tree Hard
1254-number-of-closed-islands Medium
2685-count-the-number-of-complete-components Medium
2812-find-the-safest-path-in-a-grid Medium
3568-minimum-moves-to-clean-the-classroom Medium

Backtracking

Problem Name Difficulty
0022-generate-parentheses Medium
0079-word-search
0095-unique-binary-search-trees-ii Medium
0113-path-sum-ii Medium
0131-palindrome-partitioning Medium
0257-binary-tree-paths Easy
0301-remove-invalid-parentheses Hard
0494-target-sum Medium
3348-smallest-divisible-digit-product-ii Hard

Database

Problem Name Difficulty
0175-combine-two-tables
0176-second-highest-salary
0178-rank-scores
0180-consecutive-numbers
0181-employees-earning-more-than-their-managers
0182-duplicate-emails
0183-customers-who-never-order
0185-department-top-three-salaries
0196-delete-duplicate-emails
0197-rising-temperature Easy
0262-trips-and-users Hard
0511-game-play-analysis-i Easy
0550-game-play-analysis-iv Medium
0570-managers-with-at-least-5-direct-reports Medium
0585-investments-in-2016 Medium
0586-customer-placing-the-largest-number-of-orders
0595-big-countries
0596-classes-with-at-least-5-students Easy
0602-friend-requests-ii-who-has-the-most-friends Medium
0607-sales-person Easy
0608-tree-node Medium
0619-biggest-single-number Easy
0626-exchange-seats Medium
1158-market-analysis-i Medium

Bit Manipulation

Problem Name Difficulty
0187-repeated-dna-sequences Medium
0190-reverse-bits Easy
0191-number-of-1-bits Easy
0201-bitwise-and-of-numbers-range Medium
0222-count-complete-tree-nodes Easy
0287-find-the-duplicate-number Medium
1386-cinema-seat-allocation Medium
1763-longest-nice-substring Easy
2897-apply-operations-on-array-to-maximize-sum-of-squares Hard
3116-kth-smallest-amount-with-single-denomination-combination Hard
3513-number-of-unique-xor-triplets-i Medium
3534-path-existence-queries-in-a-graph-ii Hard
3568-minimum-moves-to-clean-the-classroom Medium
3644-maximum-k-to-sort-a-permutation Medium
3702-longest-subsequence-with-non-zero-bitwise-xor Medium
3841-palindromic-path-queries-in-a-tree Hard
3882-minimum-xor-path-in-a-grid Medium

Rolling Hash

Problem Name Difficulty
0187-repeated-dna-sequences Medium

Hash Function

Problem Name Difficulty
0187-repeated-dna-sequences Medium

Iterator

Problem Name Difficulty
0173-binary-search-tree-iterator Medium

Union-Find

Problem Name Difficulty
0200-number-of-islands Medium
0684-redundant-connection Medium
1254-number-of-closed-islands Medium
2685-count-the-number-of-complete-components Medium
2812-find-the-safest-path-in-a-grid Medium
2948-make-lexicographically-smallest-array-by-swapping-elements Medium
3532-path-existence-queries-in-a-graph-i Medium

Graph Theory

Problem Name Difficulty
0133-clone-graph Medium
0684-redundant-connection Medium
0787-cheapest-flights-within-k-stops Medium
2685-count-the-number-of-complete-components Medium
3532-path-existence-queries-in-a-graph-i Medium
3534-path-existence-queries-in-a-graph-ii Hard
3898-find-the-degree-of-each-vertex Easy
3970-shortest-path-with-at-most-k-consecutive-identical-characters Medium

Segment Tree

Problem Name Difficulty
2213-longest-substring-of-one-repeating-character Hard
2913-subarrays-distinct-element-sum-of-squares-i Easy
2916-subarrays-distinct-element-sum-of-squares-ii Hard
3719-longest-balanced-subarray-i Medium
3841-palindromic-path-queries-in-a-tree Hard

Number Theory

Problem Name Difficulty
3116-kth-smallest-amount-with-single-denomination-combination Hard
3312-sorted-gcd-pair-queries Hard
3348-smallest-divisible-digit-product-ii Hard
3867-sum-of-gcd-of-formed-pairs Medium

Combinatorics

Problem Name Difficulty
0062-unique-paths Medium
1621-number-of-sets-of-k-non-overlapping-line-segments Medium
3116-kth-smallest-amount-with-single-denomination-combination Hard
3312-sorted-gcd-pair-queries Hard
3518-smallest-palindromic-rearrangement-ii Hard

Enumeration

Problem Name Difficulty
2778-sum-of-squares-of-special-elements Easy
3345-smallest-divisible-digit-product-i Easy
3483-unique-3-digit-even-numbers Easy
3886-sum-of-sortable-integers Hard

Shortest Path

Problem Name Difficulty
0787-cheapest-flights-within-k-stops Medium
3970-shortest-path-with-at-most-k-consecutive-identical-characters Medium

Minimax

Problem Name Difficulty
1140-stone-game-ii Medium
2029-stone-game-ix Medium

Game Theory

Problem Name Difficulty
1140-stone-game-ii Medium
1563-stone-game-v Hard
1927-sum-game Medium
2029-stone-game-ix Medium

Zero-Sum Game

Problem Name Difficulty
1140-stone-game-ii Medium
2029-stone-game-ix Medium

Ordered Set

Problem Name Difficulty
2213-longest-substring-of-one-repeating-character Hard

Nim Game

Problem Name Difficulty
2029-stone-game-ix Medium

Quicksort

Problem Name Difficulty
0455-assign-cookies Easy

Knapsack Problem

Problem Name Difficulty
0416-partition-equal-subset-sum Medium
0494-target-sum Medium
1049-last-stone-weight-ii Medium

0-1 Knapsack

Problem Name Difficulty
0416-partition-equal-subset-sum Medium
0494-target-sum Medium
1049-last-stone-weight-ii Medium

Pigeonhole Principle

Problem Name Difficulty
0287-find-the-duplicate-number Medium

Floyd's Cycle Finding Algorithm

Problem Name Difficulty
0287-find-the-duplicate-number Medium

Bracket Sequences

Problem Name Difficulty
0020-valid-parentheses Easy
0022-generate-parentheses Medium
0032-longest-valid-parentheses Hard
0678-valid-parenthesis-string Medium
0856-score-of-parentheses Medium
0921-minimum-add-to-make-parentheses-valid Medium
1021-remove-outermost-parentheses Easy
1111-maximum-nesting-depth-of-two-valid-parentheses-strings Medium
1541-minimum-insertions-to-balance-a-parentheses-string Medium
1614-maximum-nesting-depth-of-the-parentheses Easy
2267-check-if-there-is-a-valid-parentheses-string-path Hard

Longest Common Subsequence

Problem Name Difficulty
0583-delete-operation-for-two-strings Medium

Geometry

Problem Name Difficulty
1401-circle-and-rectangle-overlapping Medium

Binary Indexed Tree

Problem Name Difficulty
2913-subarrays-distinct-element-sum-of-squares-i Easy
2916-subarrays-distinct-element-sum-of-squares-ii Hard
3841-palindromic-path-queries-in-a-tree Hard

About

DSA Leetcode with c/c++

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages