Skip to content

Son7c/DSA-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,007 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

LeetCode Topics

Tree

0094-binary-tree-inorder-traversal
0098-validate-binary-search-tree
0100-same-tree
0102-binary-tree-level-order-traversal
0104-maximum-depth-of-binary-tree
0110-balanced-binary-tree
0111-minimum-depth-of-binary-tree
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0199-binary-tree-right-side-view
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0236-lowest-common-ancestor-of-a-binary-tree
0543-diameter-of-binary-tree
0700-search-in-a-binary-search-tree
0789-kth-largest-element-in-a-stream

Depth-First Search

0094-binary-tree-inorder-traversal
0098-validate-binary-search-tree
0100-same-tree
0104-maximum-depth-of-binary-tree
0110-balanced-binary-tree
0111-minimum-depth-of-binary-tree
0133-clone-graph
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0199-binary-tree-right-side-view
0200-number-of-islands
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0236-lowest-common-ancestor-of-a-binary-tree
0463-island-perimeter
0543-diameter-of-binary-tree
0684-redundant-connection
0695-max-area-of-island
0733-flood-fill
0803-cheapest-flights-within-k-stops
1300-critical-connections-in-a-network
2121-find-if-path-exists-in-graph

Breadth-First Search

0100-same-tree
0102-binary-tree-level-order-traversal
0104-maximum-depth-of-binary-tree
0111-minimum-depth-of-binary-tree
0133-clone-graph
0199-binary-tree-right-side-view
0200-number-of-islands
0226-invert-binary-tree
0322-coin-change
0463-island-perimeter
0684-redundant-connection
0695-max-area-of-island
0733-flood-fill
0803-cheapest-flights-within-k-stops
1036-rotting-oranges
2121-find-if-path-exists-in-graph

Binary Tree

0094-binary-tree-inorder-traversal
0098-validate-binary-search-tree
0100-same-tree
0102-binary-tree-level-order-traversal
0104-maximum-depth-of-binary-tree
0110-balanced-binary-tree
0111-minimum-depth-of-binary-tree
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0199-binary-tree-right-side-view
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0236-lowest-common-ancestor-of-a-binary-tree
0543-diameter-of-binary-tree
0700-search-in-a-binary-search-tree
0789-kth-largest-element-in-a-stream

Array

0014-longest-common-prefix
0015-3sum
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
0039-combination-sum
0040-combination-sum-ii
0042-trapping-rain-water
0048-rotate-image
0054-spiral-matrix
0063-unique-paths-ii
0064-minimum-path-sum
0066-plus-one
0073-set-matrix-zeroes
0074-search-a-2d-matrix
0075-sort-colors
0081-search-in-rotated-sorted-array-ii
0088-merge-sorted-array
0090-subsets-ii
0120-triangle
0121-best-time-to-buy-and-sell-stock
0128-longest-consecutive-sequence
0136-single-number
0150-evaluate-reverse-polish-notation
0153-find-minimum-in-rotated-sorted-array
0162-find-peak-element
0169-majority-element
0189-rotate-array
0198-house-robber
0200-number-of-islands
0213-house-robber-ii
0215-kth-largest-element-in-an-array
0216-combination-sum-iii
0217-contains-duplicate
0229-majority-element-ii
0238-product-of-array-except-self
0239-sliding-window-maximum
0240-search-a-2d-matrix-ii
0268-missing-number
0283-move-zeroes
0287-find-the-duplicate-number
0322-coin-change
0347-top-k-frequent-elements
0396-rotate-function
0403-frog-jump
0416-partition-equal-subset-sum
0463-island-perimeter
0485-max-consecutive-ones
0494-target-sum
0496-next-greater-element-i
0503-next-greater-element-ii
0518-coin-change-ii
0540-single-element-in-a-sorted-array
0621-task-scheduler
0645-set-mismatch
0682-baseball-game
0695-max-area-of-island
0697-degree-of-an-array
0704-binary-search
0718-maximum-length-of-repeated-subarray
0733-flood-fill
0739-daily-temperatures
0792-binary-search
0817-design-hashmap
0860-design-circular-queue
0875-koko-eating-bananas
0904-fruit-into-baskets
0907-sum-of-subarray-minimums
0931-minimum-falling-path-sum
0948-sort-an-array
0992-subarrays-with-k-different-integers
1004-max-consecutive-ones-iii
1011-capacity-to-ship-packages-within-d-days
1014-k-closest-points-to-origin
1036-rotting-oranges
1127-last-stone-weight
1423-maximum-points-you-can-obtain-from-cards
1463-cherry-pickup-ii
1472-design-browser-history
1706-min-cost-to-connect-all-points
1848-minimum-distance-to-the-target-element
1914-cyclically-rotating-a-grid
2058-concatenation-of-array
2104-sum-of-subarray-ranges
2149-rearrange-array-elements-by-sign
2553-separate-the-digits-in-an-array
2770-maximum-number-of-jumps-to-reach-the-last-index
3418-maximum-amount-of-money-robot-can-earn

Matrix

0036-valid-sudoku
0048-rotate-image
0054-spiral-matrix
0063-unique-paths-ii
0064-minimum-path-sum
0073-set-matrix-zeroes
0074-search-a-2d-matrix
0200-number-of-islands
0240-search-a-2d-matrix-ii
0463-island-perimeter
0695-max-area-of-island
0733-flood-fill
0931-minimum-falling-path-sum
1036-rotting-oranges
1463-cherry-pickup-ii
1914-cyclically-rotating-a-grid
3418-maximum-amount-of-money-robot-can-earn

Union Find

0128-longest-consecutive-sequence
0684-redundant-connection
0695-max-area-of-island
1706-min-cost-to-connect-all-points
2121-find-if-path-exists-in-graph

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
0240-search-a-2d-matrix-ii
0268-missing-number
0287-find-the-duplicate-number
0374-guess-number-higher-or-lower
0540-single-element-in-a-sorted-array
0704-binary-search
0718-maximum-length-of-repeated-subarray
0792-binary-search
0875-koko-eating-bananas
0981-time-based-key-value-store
1004-max-consecutive-ones-iii
1011-capacity-to-ship-packages-within-d-days

Math

0002-add-two-numbers
0007-reverse-integer
0013-roman-to-integer
0048-rotate-image
0050-powx-n
0062-unique-paths
0066-plus-one
0069-sqrtx
0070-climbing-stairs
0150-evaluate-reverse-polish-notation
0189-rotate-array
0224-basic-calculator
0268-missing-number
0282-expression-add-operators
0319-bulb-switcher
0396-rotate-function
0788-rotated-digits
1014-k-closest-points-to-origin
1903-largest-odd-number-in-string
3172-divisible-and-non-divisible-sums-difference

Two Pointers

0005-longest-palindromic-substring
0015-3sum
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
0086-partition-list
0088-merge-sorted-array
0125-valid-palindrome
0141-linked-list-cycle
0143-reorder-list
0148-sort-list
0151-reverse-words-in-a-string
0160-intersection-of-two-linked-lists
0189-rotate-array
0234-palindrome-linked-list
0283-move-zeroes
0287-find-the-duplicate-number
0344-reverse-string
0567-permutation-in-string
0647-palindromic-substrings
0876-middle-of-the-linked-list
1894-merge-strings-alternately
2095-delete-the-middle-node-of-a-linked-list
2130-maximum-twin-sum-of-a-linked-list
2149-rearrange-array-elements-by-sign

String

0003-longest-substring-without-repeating-characters
0005-longest-palindromic-substring
0013-roman-to-integer
0014-longest-common-prefix
0020-valid-parentheses
0028-find-the-index-of-the-first-occurrence-in-a-string
0038-count-and-say
0076-minimum-window-substring
0125-valid-palindrome
0131-palindrome-partitioning
0151-reverse-words-in-a-string
0224-basic-calculator
0242-valid-anagram
0282-expression-add-operators
0344-reverse-string
0389-find-the-difference
0394-decode-string
0402-remove-k-digits
0424-longest-repeating-character-replacement
0451-sort-characters-by-frequency
0516-longest-palindromic-subsequence
0567-permutation-in-string
0647-palindromic-substrings
0686-repeated-string-match
0796-rotate-string
0981-time-based-key-value-store
1021-remove-outermost-parentheses
1143-longest-common-subsequence
1614-maximum-nesting-depth-of-the-parentheses
1781-sum-of-beauty-of-all-substrings
1894-merge-strings-alternately
1903-largest-odd-number-in-string

Hash Table

0003-longest-substring-without-repeating-characters
0013-roman-to-integer
0036-valid-sudoku
0073-set-matrix-zeroes
0076-minimum-window-substring
0128-longest-consecutive-sequence
0133-clone-graph
0138-copy-list-with-random-pointer
0141-linked-list-cycle
0146-lru-cache
0160-intersection-of-two-linked-lists
0169-majority-element
0217-contains-duplicate
0229-majority-element-ii
0242-valid-anagram
0268-missing-number
0347-top-k-frequent-elements
0389-find-the-difference
0424-longest-repeating-character-replacement
0451-sort-characters-by-frequency
0496-next-greater-element-i
0567-permutation-in-string
0621-task-scheduler
0645-set-mismatch
0697-degree-of-an-array
0817-design-hashmap
0904-fruit-into-baskets
0981-time-based-key-value-store
0992-subarrays-with-k-different-integers
1171-remove-zero-sum-consecutive-nodes-from-linked-list
1781-sum-of-beauty-of-all-substrings

Sorting

0015-3sum
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
0347-top-k-frequent-elements
0389-find-the-difference
0451-sort-characters-by-frequency
0621-task-scheduler
0645-set-mismatch
0948-sort-an-array
1014-k-closest-points-to-origin

Simulation

0054-spiral-matrix
0682-baseball-game
1914-cyclically-rotating-a-grid
2058-concatenation-of-array
2149-rearrange-array-elements-by-sign
2181-merge-nodes-in-between-zeros
2553-separate-the-digits-in-an-array

Trie

0014-longest-common-prefix

Divide and Conquer

0023-merge-k-sorted-lists
0148-sort-list
0169-majority-element
0215-kth-largest-element-in-an-array
0240-search-a-2d-matrix-ii
0347-top-k-frequent-elements
0948-sort-an-array
1014-k-closest-points-to-origin

Counting

0169-majority-element
0229-majority-element-ii
0347-top-k-frequent-elements
0451-sort-characters-by-frequency
0621-task-scheduler
0992-subarrays-with-k-different-integers
1781-sum-of-beauty-of-all-substrings

Heap (Priority Queue)

0023-merge-k-sorted-lists
0215-kth-largest-element-in-an-array
0239-sliding-window-maximum
0347-top-k-frequent-elements
0451-sort-characters-by-frequency
0621-task-scheduler
0789-kth-largest-element-in-a-stream
0803-cheapest-flights-within-k-stops
0948-sort-an-array
1014-k-closest-points-to-origin
1127-last-stone-weight

Merge Sort

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

Bucket Sort

0347-top-k-frequent-elements
0451-sort-characters-by-frequency
0948-sort-an-array

Radix Sort

0948-sort-an-array

Counting Sort

0948-sort-an-array

Quickselect

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

Brainteaser

0319-bulb-switcher

Graph

0684-redundant-connection
0803-cheapest-flights-within-k-stops
1300-critical-connections-in-a-network
1706-min-cost-to-connect-all-points
2121-find-if-path-exists-in-graph

Stack

0020-valid-parentheses
0042-trapping-rain-water
0094-binary-tree-inorder-traversal
0143-reorder-list
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0150-evaluate-reverse-polish-notation
0155-min-stack
0224-basic-calculator
0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0234-palindrome-linked-list
0394-decode-string
0402-remove-k-digits
0496-next-greater-element-i
0503-next-greater-element-ii
0682-baseball-game
0739-daily-temperatures
0901-online-stock-span
0907-sum-of-subarray-minimums
1021-remove-outermost-parentheses
1472-design-browser-history
1614-maximum-nesting-depth-of-the-parentheses
2104-sum-of-subarray-ranges
2130-maximum-twin-sum-of-a-linked-list

Design

0146-lru-cache
0155-min-stack
0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0789-kth-largest-element-in-a-stream
0817-design-hashmap
0860-design-circular-queue
0901-online-stock-span
0981-time-based-key-value-store
1472-design-browser-history

Linked List

0002-add-two-numbers
0019-remove-nth-node-from-end-of-list
0021-merge-two-sorted-lists
0023-merge-k-sorted-lists
0025-reverse-nodes-in-k-group
0061-rotate-list
0086-partition-list
0092-reverse-linked-list-ii
0138-copy-list-with-random-pointer
0141-linked-list-cycle
0143-reorder-list
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
0817-design-hashmap
0860-design-circular-queue
0876-middle-of-the-linked-list
1171-remove-zero-sum-consecutive-nodes-from-linked-list
1472-design-browser-history
2095-delete-the-middle-node-of-a-linked-list
2130-maximum-twin-sum-of-a-linked-list
2181-merge-nodes-in-between-zeros

Hash Function

0718-maximum-length-of-repeated-subarray
0817-design-hashmap

Recursion

0002-add-two-numbers
0021-merge-two-sorted-lists
0025-reverse-nodes-in-k-group
0050-powx-n
0143-reorder-list
0206-reverse-linked-list
0224-basic-calculator
0234-palindrome-linked-list
0394-decode-string

Binary Search Tree

0098-validate-binary-search-tree
0230-kth-smallest-element-in-a-bst
0700-search-in-a-binary-search-tree
0789-kth-largest-element-in-a-stream

Data Stream

0789-kth-largest-element-in-a-stream
0901-online-stock-span
1472-design-browser-history

Geometry

1014-k-closest-points-to-origin

Queue

0225-implement-stack-using-queues
0232-implement-queue-using-stacks
0239-sliding-window-maximum
0860-design-circular-queue

Bit Manipulation

0090-subsets-ii
0136-single-number
0268-missing-number
0287-find-the-duplicate-number
0338-counting-bits
0389-find-the-difference
0645-set-mismatch

Dynamic Programming

0005-longest-palindromic-substring
0042-trapping-rain-water
0062-unique-paths
0063-unique-paths-ii
0064-minimum-path-sum
0070-climbing-stairs
0120-triangle
0121-best-time-to-buy-and-sell-stock
0131-palindrome-partitioning
0198-house-robber
0213-house-robber-ii
0322-coin-change
0338-counting-bits
0396-rotate-function
0403-frog-jump
0416-partition-equal-subset-sum
0494-target-sum
0516-longest-palindromic-subsequence
0518-coin-change-ii
0647-palindromic-substrings
0718-maximum-length-of-repeated-subarray
0788-rotated-digits
0803-cheapest-flights-within-k-stops
0907-sum-of-subarray-minimums
0931-minimum-falling-path-sum
1143-longest-common-subsequence
1463-cherry-pickup-ii
2770-maximum-number-of-jumps-to-reach-the-last-index
3418-maximum-amount-of-money-robot-can-earn

Shortest Path

0803-cheapest-flights-within-k-stops

Minimum Spanning Tree

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

Monotonic Stack

0042-trapping-rain-water
0402-remove-k-digits
0496-next-greater-element-i
0503-next-greater-element-ii
0739-daily-temperatures
0901-online-stock-span
0907-sum-of-subarray-minimums
2104-sum-of-subarray-ranges

Interactive

0374-guess-number-higher-or-lower

Biconnected Component

1300-critical-connections-in-a-network

Sliding Window

0003-longest-substring-without-repeating-characters
0076-minimum-window-substring
0239-sliding-window-maximum
0424-longest-repeating-character-replacement
0567-permutation-in-string
0718-maximum-length-of-repeated-subarray
0904-fruit-into-baskets
0992-subarrays-with-k-different-integers
1004-max-consecutive-ones-iii
1423-maximum-points-you-can-obtain-from-cards

Memoization

0070-climbing-stairs

Monotonic Queue

0239-sliding-window-maximum

Greedy

0402-remove-k-digits
0621-task-scheduler
1903-largest-odd-number-in-string

Union-Find

0128-longest-consecutive-sequence
0200-number-of-islands
0695-max-area-of-island

Graph Theory

0133-clone-graph

Prefix Sum

0238-product-of-array-except-self
1004-max-consecutive-ones-iii
1423-maximum-points-you-can-obtain-from-cards

Combinatorics

0062-unique-paths

String Matching

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

Backtracking

0039-combination-sum
0040-combination-sum-ii
0090-subsets-ii
0131-palindrome-partitioning
0216-combination-sum-iii
0282-expression-add-operators
0494-target-sum

Rolling Hash

0718-maximum-length-of-repeated-subarray

Doubly-Linked List

0146-lru-cache
1472-design-browser-history

About

Trying to solve problems and push it here to maintain a record

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages