Skip to content

bmukesh23/DSA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

983 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

LeetCode Topics

Math

0002-add-two-numbers
0007-reverse-integer
0009-palindrome-number
0013-roman-to-integer
0048-rotate-image
0050-powx-n
0189-rotate-array
0268-missing-number
1013-fibonacci-number
1370-count-number-of-nice-subarrays
1406-subtract-the-product-and-sum-of-digits-of-an-integer
2032-largest-odd-number-in-string
2050-count-good-numbers
2324-find-triangular-sum-of-an-array

Array

0001-two-sum
0004-median-of-two-sorted-arrays
0015-3sum
0018-4sum
0026-remove-duplicates-from-sorted-array
0031-next-permutation
0033-search-in-rotated-sorted-array
0034-find-first-and-last-position-of-element-in-sorted-array
0035-search-insert-position
0039-combination-sum
0040-combination-sum-ii
0042-trapping-rain-water
0045-jump-game-ii
0048-rotate-image
0053-maximum-subarray
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
0081-search-in-rotated-sorted-array-ii
0088-merge-sorted-array
0090-subsets-ii
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0118-pascals-triangle
0119-pascals-triangle-ii
0121-best-time-to-buy-and-sell-stock
0128-longest-consecutive-sequence
0136-single-number
0153-find-minimum-in-rotated-sorted-array
0162-find-peak-element
0169-majority-element
0189-rotate-array
0216-combination-sum-iii
0217-contains-duplicate
0229-majority-element-ii
0240-search-a-2d-matrix-ii
0268-missing-number
0283-move-zeroes
0287-find-the-duplicate-number
0435-non-overlapping-intervals
0455-assign-cookies
0485-max-consecutive-ones
0493-reverse-pairs
0496-next-greater-element-i
0503-next-greater-element-ii
0540-single-element-in-a-sorted-array
0735-asteroid-collision
0792-binary-search
0890-lemonade-change
0943-sum-of-subarray-minimums
0966-binary-subarrays-with-sum
1046-max-consecutive-ones-iii
1050-construct-binary-search-tree-from-preorder-traversal
1364-tuple-with-same-product
1370-count-number-of-nice-subarrays
1408-find-the-smallest-divisor-given-a-threshold
1538-maximum-points-you-can-obtain-from-cards
1646-kth-missing-positive-number
1755-defuse-the-bomb
1878-check-if-array-is-sorted-and-rotated
1927-maximum-ascending-subarray-sum
1966-frequency-of-the-most-frequent-element
2227-sum-of-subarray-ranges
2271-rearrange-array-elements-by-sign
2324-find-triangular-sum-of-an-array
3372-longest-strictly-increasing-or-strictly-decreasing-subarray
3429-special-array-i

Hash Table

0001-two-sum
0003-longest-substring-without-repeating-characters
0013-roman-to-integer
0017-letter-combinations-of-a-phone-number
0073-set-matrix-zeroes
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0128-longest-consecutive-sequence
0138-copy-list-with-random-pointer
0141-linked-list-cycle
0146-lru-cache
0160-intersection-of-two-linked-lists
0169-majority-element
0205-isomorphic-strings
0217-contains-duplicate
0229-majority-element-ii
0242-valid-anagram
0268-missing-number
0424-longest-repeating-character-replacement
0460-lfu-cache
0496-next-greater-element-i
0653-two-sum-iv-input-is-a-bst
0966-binary-subarrays-with-sum
1364-tuple-with-same-product
1370-count-number-of-nice-subarrays
1460-number-of-substrings-containing-all-three-characters
1890-sum-of-beauty-of-all-substrings
1915-check-if-one-string-swap-can-make-strings-equal

Dynamic Programming

0042-trapping-rain-water
0045-jump-game-ii
0053-maximum-subarray
0055-jump-game
0118-pascals-triangle
0119-pascals-triangle-ii
0121-best-time-to-buy-and-sell-stock
0124-binary-tree-maximum-path-sum
0131-palindrome-partitioning
0435-non-overlapping-intervals
0678-valid-parenthesis-string
0943-sum-of-subarray-minimums
1013-fibonacci-number

Recursion

0002-add-two-numbers
0021-merge-two-sorted-lists
0025-reverse-nodes-in-k-group
0050-powx-n
0206-reverse-linked-list
0234-palindrome-linked-list
1013-fibonacci-number
2050-count-good-numbers

Memoization

1013-fibonacci-number

Two Pointers

0015-3sum
0018-4sum
0019-remove-nth-node-from-end-of-list
0026-remove-duplicates-from-sorted-array
0028-find-the-index-of-the-first-occurrence-in-a-string
0031-next-permutation
0042-trapping-rain-water
0061-rotate-list
0075-sort-colors
0088-merge-sorted-array
0125-valid-palindrome
0141-linked-list-cycle
0148-sort-list
0151-reverse-words-in-a-string
0160-intersection-of-two-linked-lists
0165-compare-version-numbers
0189-rotate-array
0234-palindrome-linked-list
0283-move-zeroes
0287-find-the-duplicate-number
0455-assign-cookies
0653-two-sum-iv-input-is-a-bst
0908-middle-of-the-linked-list
2271-rearrange-array-elements-by-sign

String

0003-longest-substring-without-repeating-characters
0008-string-to-integer-atoi
0013-roman-to-integer
0017-letter-combinations-of-a-phone-number
0020-valid-parentheses
0028-find-the-index-of-the-first-occurrence-in-a-string
0038-count-and-say
0079-word-search
0125-valid-palindrome
0131-palindrome-partitioning
0151-reverse-words-in-a-string
0165-compare-version-numbers
0205-isomorphic-strings
0242-valid-anagram
0402-remove-k-digits
0424-longest-repeating-character-replacement
0678-valid-parenthesis-string
0686-repeated-string-match
0812-rotate-string
0957-minimum-add-to-make-parentheses-valid
1078-remove-outermost-parentheses
1460-number-of-substrings-containing-all-three-characters
1737-maximum-nesting-depth-of-the-parentheses
1890-sum-of-beauty-of-all-substrings
1915-check-if-one-string-swap-can-make-strings-equal
2032-largest-odd-number-in-string

Sorting

0015-3sum
0018-4sum
0056-merge-intervals
0075-sort-colors
0088-merge-sorted-array
0148-sort-list
0169-majority-element
0217-contains-duplicate
0229-majority-element-ii
0242-valid-anagram
0268-missing-number
0435-non-overlapping-intervals
0455-assign-cookies
1966-frequency-of-the-most-frequent-element

Binary Search

0004-median-of-two-sorted-arrays
0033-search-in-rotated-sorted-array
0034-find-first-and-last-position-of-element-in-sorted-array
0035-search-insert-position
0074-search-a-2d-matrix
0081-search-in-rotated-sorted-array-ii
0153-find-minimum-in-rotated-sorted-array
0162-find-peak-element
0240-search-a-2d-matrix-ii
0268-missing-number
0287-find-the-duplicate-number
0493-reverse-pairs
0540-single-element-in-a-sorted-array
0792-binary-search
1046-max-consecutive-ones-iii
1408-find-the-smallest-divisor-given-a-threshold
1646-kth-missing-positive-number
1966-frequency-of-the-most-frequent-element

Bit Manipulation

0078-subsets
0090-subsets-ii
0136-single-number
0268-missing-number
0287-find-the-duplicate-number

Greedy

0045-jump-game-ii
0055-jump-game
0402-remove-k-digits
0435-non-overlapping-intervals
0455-assign-cookies
0678-valid-parenthesis-string
0890-lemonade-change
0957-minimum-add-to-make-parentheses-valid
1966-frequency-of-the-most-frequent-element
2032-largest-odd-number-in-string

Sliding Window

0003-longest-substring-without-repeating-characters
0424-longest-repeating-character-replacement
0966-binary-subarrays-with-sum
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
1755-defuse-the-bomb
1966-frequency-of-the-most-frequent-element

Prefix Sum

0966-binary-subarrays-with-sum
1046-max-consecutive-ones-iii
1370-count-number-of-nice-subarrays
1538-maximum-points-you-can-obtain-from-cards
1966-frequency-of-the-most-frequent-element

Database

0176-second-highest-salary
0180-consecutive-numbers
0196-delete-duplicate-emails
0197-rising-temperature
0570-managers-with-at-least-5-direct-reports
0577-employee-bonus
0584-find-customer-referee
0585-investments-in-2016
0595-big-countries
0596-classes-more-than-5-students
0602-friend-requests-ii-who-has-the-most-friends
0610-triangle-judgement
0619-biggest-single-number
0620-not-boring-movies
0626-exchange-seats
1070-product-sales-analysis-iii
1135-customers-who-bought-all-products
1153-product-sales-analysis-i
1155-product-sales-analysis-iii
1161-project-employees-i
1182-game-play-analysis-iv
1245-user-activity-for-the-past-30-days-i
1258-article-views-i
1278-product-price-at-a-given-date
1292-immediate-food-delivery-ii
1317-monthly-transactions-i
1327-last-person-to-fit-in-the-bus
1338-queries-quality-and-percentage
1390-average-selling-price
1415-students-and-examinations
1452-restaurant-growth
1462-list-the-products-ordered-in-a-period
1480-movie-rating
1509-replace-employee-id-with-the-unique-identifier
1625-group-sold-products-by-the-date
1664-find-users-with-valid-e-mails
1670-patients-with-a-condition
1724-customer-who-visited-but-did-not-make-any-transactions
1773-percentage-of-users-attended-a-contest
1801-average-time-of-process-per-machine
1811-fix-names-in-a-table
1827-invalid-tweets
1877-find-followers-count
1882-the-number-of-employees-which-report-to-each-employee
1908-recyclable-and-low-fat-products
1942-primary-department-for-each-employee
2057-count-salary-categories
2087-confirmation-rate
2127-employees-whose-manager-left-the-company
2495-number-of-unique-subjects-taught-by-each-teacher

Divide and Conquer

0004-median-of-two-sorted-arrays
0053-maximum-subarray
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0148-sort-list
0169-majority-element
0240-search-a-2d-matrix-ii
0493-reverse-pairs

Counting

0169-majority-element
0229-majority-element-ii
1364-tuple-with-same-product
1890-sum-of-beauty-of-all-substrings
1915-check-if-one-string-swap-can-make-strings-equal

Simulation

0735-asteroid-collision
2271-rearrange-array-elements-by-sign
2324-find-triangular-sum-of-an-array

Union Find

0128-longest-consecutive-sequence

Matrix

0048-rotate-image
0073-set-matrix-zeroes
0074-search-a-2d-matrix
0079-word-search
0240-search-a-2d-matrix-ii

Combinatorics

2324-find-triangular-sum-of-an-array

Binary Indexed Tree

0493-reverse-pairs

Segment Tree

0493-reverse-pairs

Merge Sort

0148-sort-list
0493-reverse-pairs

Ordered Set

0493-reverse-pairs

String Matching

0028-find-the-index-of-the-first-occurrence-in-a-string
0686-repeated-string-match
0812-rotate-string

Linked List

0002-add-two-numbers
0019-remove-nth-node-from-end-of-list
0021-merge-two-sorted-lists
0025-reverse-nodes-in-k-group
0061-rotate-list
0114-flatten-binary-tree-to-linked-list
0138-copy-list-with-random-pointer
0141-linked-list-cycle
0146-lru-cache
0148-sort-list
0160-intersection-of-two-linked-lists
0206-reverse-linked-list
0234-palindrome-linked-list
0237-delete-node-in-a-linked-list
0328-odd-even-linked-list
0460-lfu-cache
0908-middle-of-the-linked-list

Stack

0020-valid-parentheses
0042-trapping-rain-water
0094-binary-tree-inorder-traversal
0114-flatten-binary-tree-to-linked-list
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0155-min-stack
0173-binary-search-tree-iterator
0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0234-palindrome-linked-list
0402-remove-k-digits
0496-next-greater-element-i
0503-next-greater-element-ii
0678-valid-parenthesis-string
0735-asteroid-collision
0937-online-stock-span
0943-sum-of-subarray-minimums
0957-minimum-add-to-make-parentheses-valid
1050-construct-binary-search-tree-from-preorder-traversal
1078-remove-outermost-parentheses
1737-maximum-nesting-depth-of-the-parentheses
2227-sum-of-subarray-ranges

Backtracking

0017-letter-combinations-of-a-phone-number
0039-combination-sum
0040-combination-sum-ii
0078-subsets
0079-word-search
0090-subsets-ii
0131-palindrome-partitioning
0216-combination-sum-iii

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
0114-flatten-binary-tree-to-linked-list
0124-binary-tree-maximum-path-sum
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0543-diameter-of-binary-tree
0653-two-sum-iv-input-is-a-bst
0662-maximum-width-of-binary-tree

Design

0146-lru-cache
0155-min-stack
0173-binary-search-tree-iterator
0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0460-lfu-cache
0937-online-stock-span

Queue

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

Monotonic Stack

0042-trapping-rain-water
0402-remove-k-digits
0496-next-greater-element-i
0503-next-greater-element-ii
0937-online-stock-span
0943-sum-of-subarray-minimums
1050-construct-binary-search-tree-from-preorder-traversal
2227-sum-of-subarray-ranges

Doubly-Linked List

0146-lru-cache
0460-lfu-cache

Data Stream

0937-online-stock-span

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
0110-balanced-binary-tree
0114-flatten-binary-tree-to-linked-list
0124-binary-tree-maximum-path-sum
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0173-binary-search-tree-iterator
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0543-diameter-of-binary-tree
0653-two-sum-iv-input-is-a-bst
0662-maximum-width-of-binary-tree
0783-search-in-a-binary-search-tree
1050-construct-binary-search-tree-from-preorder-traversal

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
0653-two-sum-iv-input-is-a-bst
0662-maximum-width-of-binary-tree

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
0110-balanced-binary-tree
0114-flatten-binary-tree-to-linked-list
0124-binary-tree-maximum-path-sum
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0173-binary-search-tree-iterator
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0543-diameter-of-binary-tree
0653-two-sum-iv-input-is-a-bst
0662-maximum-width-of-binary-tree
0783-search-in-a-binary-search-tree
1050-construct-binary-search-tree-from-preorder-traversal

Binary Search Tree

0098-validate-binary-search-tree
0173-binary-search-tree-iterator
0230-kth-smallest-element-in-a-bst
0235-lowest-common-ancestor-of-a-binary-search-tree
0653-two-sum-iv-input-is-a-bst
0783-search-in-a-binary-search-tree
1050-construct-binary-search-tree-from-preorder-traversal

Iterator

0173-binary-search-tree-iterator

About

DSA Practice

Topics

Resources

Stars

Watchers

Forks

Contributors