Skip to content

Latest commit

 

History

546 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

leetcode-solutions

Collection of LeetCode questions to ace the coding interview! - Created using LeetHub-3.0

LeetCode Topics

Array

Problem Name Difficulty
0001-two-sum Easy
0004-median-of-two-sorted-arrays Hard
0011-container-with-most-water Medium
0014-longest-common-prefix Easy
0015-3sum Medium
0026-remove-duplicates-from-sorted-array Easy
0027-remove-element Easy
0033-search-in-rotated-sorted-array Medium
0034-find-first-and-last-position-of-element-in-sorted-array Medium
0035-search-insert-position Easy
0036-valid-sudoku Medium
0039-combination-sum Medium
0042-trapping-rain-water Hard
0045-jump-game-ii Medium
0046-permutations Medium
0048-rotate-image Medium
0049-group-anagrams Medium
0053-maximum-subarray Medium
0054-spiral-matrix Medium
0055-jump-game Medium
0056-merge-intervals Medium
0057-insert-interval Medium
0063-unique-paths-ii Medium
0064-minimum-path-sum Medium
0066-plus-one Easy
0068-text-justification Hard
0073-set-matrix-zeroes Medium
0074-search-a-2d-matrix Medium
0079-word-search Medium
0080-remove-duplicates-from-sorted-array-ii Medium
0088-merge-sorted-array Easy
0105-construct-binary-tree-from-preorder-and-inorder-traversal Medium
0106-construct-binary-tree-from-inorder-and-postorder-traversal Medium
0108-convert-sorted-array-to-binary-search-tree Easy
0120-triangle Medium
0121-best-time-to-buy-and-sell-stock Easy
0122-best-time-to-buy-and-sell-stock-ii Medium
0123-best-time-to-buy-and-sell-stock-iii Hard
0128-longest-consecutive-sequence Medium
0130-surrounded-regions Medium
0134-gas-station Medium
0135-candy Hard
0136-single-number Easy
0137-single-number-ii Medium
0139-word-break Medium
0149-max-points-on-a-line Hard
0150-evaluate-reverse-polish-notation Medium
0153-find-minimum-in-rotated-sorted-array Medium
0162-find-peak-element Medium
0167-two-sum-ii-input-array-is-sorted Medium
0169-majority-element Easy
0188-best-time-to-buy-and-sell-stock-iv Hard
0189-rotate-array Medium
0198-house-robber Medium
0200-number-of-islands Medium
0209-minimum-size-subarray-sum Medium
0212-word-search-ii Hard
0215-kth-largest-element-in-an-array Medium
0219-contains-duplicate-ii Easy
0221-maximal-square Medium
0228-summary-ranges Easy
0238-product-of-array-except-self Medium
0274-h-index Medium
0289-game-of-life Medium
0300-longest-increasing-subsequence Medium
0322-coin-change Medium
0373-find-k-pairs-with-smallest-sums Medium
0380-insert-delete-getrandom-o1 Medium
0399-evaluate-division Medium
0427-construct-quad-tree Medium
0452-minimum-number-of-arrows-to-burst-balloons Medium
0502-ipo Hard
0909-snakes-and-ladders Medium
0918-maximum-sum-circular-subarray Medium

Hash Table

Problem Name Difficulty
0001-two-sum Easy
0003-longest-substring-without-repeating-characters Medium
0012-integer-to-roman Medium
0013-roman-to-integer Easy
0017-letter-combinations-of-a-phone-number Medium
0030-substring-with-concatenation-of-all-words Hard
0036-valid-sudoku Medium
0049-group-anagrams Medium
0073-set-matrix-zeroes Medium
0076-minimum-window-substring Hard
0105-construct-binary-tree-from-preorder-and-inorder-traversal Medium
0106-construct-binary-tree-from-inorder-and-postorder-traversal Medium
0127-word-ladder Hard
0128-longest-consecutive-sequence Medium
0133-clone-graph Medium
0138-copy-list-with-random-pointer Medium
0139-word-break Medium
0141-linked-list-cycle Easy
0146-lru-cache Medium
0149-max-points-on-a-line Hard
0169-majority-element Easy
0202-happy-number Easy
0205-isomorphic-strings Easy
0208-implement-trie-prefix-tree Medium
0219-contains-duplicate-ii Easy
0242-valid-anagram Easy
0290-word-pattern Easy
0380-insert-delete-getrandom-o1 Medium
0383-ransom-note Easy
0433-minimum-genetic-mutation Medium

String

Problem Name Difficulty
0003-longest-substring-without-repeating-characters Medium
0005-longest-palindromic-substring Medium
0006-zigzag-conversion Medium
0012-integer-to-roman Medium
0013-roman-to-integer Easy
0014-longest-common-prefix Easy
0017-letter-combinations-of-a-phone-number Medium
0020-valid-parentheses Easy
0022-generate-parentheses Medium
0028-find-the-index-of-the-first-occurrence-in-a-string Easy
0030-substring-with-concatenation-of-all-words Hard
0049-group-anagrams Medium
0058-length-of-last-word Easy
0067-add-binary Easy
0068-text-justification Hard
0071-simplify-path Medium
0072-edit-distance Medium
0076-minimum-window-substring Hard
0079-word-search Medium
0097-interleaving-string Medium
0125-valid-palindrome Easy
0127-word-ladder Hard
0139-word-break Medium
0151-reverse-words-in-a-string Medium
0205-isomorphic-strings Easy
0208-implement-trie-prefix-tree Medium
0211-design-add-and-search-words-data-structure Medium
0212-word-search-ii Hard
0224-basic-calculator Hard
0242-valid-anagram Easy
0290-word-pattern Easy
0383-ransom-note Easy
0392-is-subsequence Easy
0399-evaluate-division Medium
0433-minimum-genetic-mutation Medium

Sorting

Problem Name Difficulty
0015-3sum Medium
0049-group-anagrams Medium
0056-merge-intervals Medium
0088-merge-sorted-array Easy
0148-sort-list Medium
0169-majority-element Easy
0215-kth-largest-element-in-an-array Medium
0242-valid-anagram Easy
0274-h-index Medium
0295-find-median-from-data-stream Hard
0452-minimum-number-of-arrows-to-burst-balloons Medium
0502-ipo Hard

Counting

Problem Name Difficulty
0169-majority-element Easy
0383-ransom-note Easy

Math

Problem Name Difficulty
0002-add-two-numbers Medium
0009-palindrome-number Easy
0012-integer-to-roman Medium
0013-roman-to-integer Easy
0048-rotate-image Medium
0050-powx-n Medium
0066-plus-one Easy
0067-add-binary Easy
0069-sqrtx Easy
0070-climbing-stairs Easy
0149-max-points-on-a-line Hard
0150-evaluate-reverse-polish-notation Medium
0172-factorial-trailing-zeroes Medium
0189-rotate-array Medium
0202-happy-number Easy
0224-basic-calculator Hard
0380-insert-delete-getrandom-o1 Medium

Two Pointers

Problem Name Difficulty
0005-longest-palindromic-substring Medium
0011-container-with-most-water Medium
0015-3sum Medium
0019-remove-nth-node-from-end-of-list Medium
0026-remove-duplicates-from-sorted-array Easy
0027-remove-element Easy
0028-find-the-index-of-the-first-occurrence-in-a-string Easy
0042-trapping-rain-water Hard
0061-rotate-list Medium
0080-remove-duplicates-from-sorted-array-ii Medium
0082-remove-duplicates-from-sorted-list-ii Medium
0086-partition-list Medium
0088-merge-sorted-array Easy
0125-valid-palindrome Easy
0141-linked-list-cycle Easy
0148-sort-list Medium
0151-reverse-words-in-a-string Medium
0167-two-sum-ii-input-array-is-sorted Medium
0189-rotate-array Medium
0202-happy-number Easy
0295-find-median-from-data-stream Hard
0392-is-subsequence Easy

Union-Find

Problem Name Difficulty
0128-longest-consecutive-sequence Medium
0130-surrounded-regions Medium
0200-number-of-islands Medium
0399-evaluate-division Medium

Binary Search

Problem Name Difficulty
0004-median-of-two-sorted-arrays Hard
0033-search-in-rotated-sorted-array Medium
0034-find-first-and-last-position-of-element-in-sorted-array Medium
0035-search-insert-position Easy
0069-sqrtx Easy
0074-search-a-2d-matrix Medium
0153-find-minimum-in-rotated-sorted-array Medium
0162-find-peak-element Medium
0167-two-sum-ii-input-array-is-sorted Medium
0209-minimum-size-subarray-sum Medium
0222-count-complete-tree-nodes Medium
0300-longest-increasing-subsequence Medium

Greedy

Problem Name Difficulty
0011-container-with-most-water Medium
0045-jump-game-ii Medium
0055-jump-game Medium
0122-best-time-to-buy-and-sell-stock-ii Medium
0134-gas-station Medium
0135-candy Hard
0452-minimum-number-of-arrows-to-burst-balloons Medium
0502-ipo Hard

Dynamic Programming

Problem Name Difficulty
0005-longest-palindromic-substring Medium
0022-generate-parentheses Medium
0042-trapping-rain-water Hard
0045-jump-game-ii Medium
0053-maximum-subarray Medium
0055-jump-game Medium
0063-unique-paths-ii Medium
0064-minimum-path-sum Medium
0070-climbing-stairs Easy
0072-edit-distance Medium
0097-interleaving-string Medium
0120-triangle Medium
0121-best-time-to-buy-and-sell-stock Easy
0122-best-time-to-buy-and-sell-stock-ii Medium
0123-best-time-to-buy-and-sell-stock-iii Hard
0124-binary-tree-maximum-path-sum Hard
0139-word-break Medium
0188-best-time-to-buy-and-sell-stock-iv Hard
0198-house-robber Medium
0221-maximal-square Medium
0300-longest-increasing-subsequence Medium
0322-coin-change Medium
0392-is-subsequence Easy
0918-maximum-sum-circular-subarray Medium

Sliding Window

Problem Name Difficulty
0003-longest-substring-without-repeating-characters Medium
0030-substring-with-concatenation-of-all-words Hard
0076-minimum-window-substring Hard
0209-minimum-size-subarray-sum Medium
0219-contains-duplicate-ii Easy

Prefix Sum

Problem Name Difficulty
0209-minimum-size-subarray-sum Medium
0238-product-of-array-except-self Medium

Stack

Problem Name Difficulty
0020-valid-parentheses Easy
0042-trapping-rain-water Hard
0071-simplify-path Medium
0114-flatten-binary-tree-to-linked-list Medium
0150-evaluate-reverse-polish-notation Medium
0155-min-stack Medium
0173-binary-search-tree-iterator Medium
0224-basic-calculator Hard

Tree

Problem Name Difficulty
0098-validate-binary-search-tree Medium
0100-same-tree Easy
0101-symmetric-tree Easy
0102-binary-tree-level-order-traversal Medium
0103-binary-tree-zigzag-level-order-traversal Medium
0104-maximum-depth-of-binary-tree Easy
0105-construct-binary-tree-from-preorder-and-inorder-traversal Medium
0106-construct-binary-tree-from-inorder-and-postorder-traversal Medium
0108-convert-sorted-array-to-binary-search-tree Easy
0112-path-sum Easy
0114-flatten-binary-tree-to-linked-list Medium
0117-populating-next-right-pointers-in-each-node-ii Medium
0124-binary-tree-maximum-path-sum Hard
0129-sum-root-to-leaf-numbers Medium
0173-binary-search-tree-iterator Medium
0199-binary-tree-right-side-view Medium
0222-count-complete-tree-nodes Medium
0226-invert-binary-tree Easy
0230-kth-smallest-element-in-a-bst Medium
0236-lowest-common-ancestor-of-a-binary-tree Medium
0427-construct-quad-tree Medium
0530-minimum-absolute-difference-in-bst Easy
0637-average-of-levels-in-binary-tree Easy

Depth-First Search

Problem Name Difficulty
0079-word-search Medium
0098-validate-binary-search-tree Medium
0100-same-tree Easy
0101-symmetric-tree Easy
0104-maximum-depth-of-binary-tree Easy
0112-path-sum Easy
0114-flatten-binary-tree-to-linked-list Medium
0117-populating-next-right-pointers-in-each-node-ii Medium
0124-binary-tree-maximum-path-sum Hard
0129-sum-root-to-leaf-numbers Medium
0130-surrounded-regions Medium
0133-clone-graph Medium
0199-binary-tree-right-side-view Medium
0200-number-of-islands Medium
0207-course-schedule Medium
0210-course-schedule-ii Medium
0211-design-add-and-search-words-data-structure Medium
0226-invert-binary-tree Easy
0230-kth-smallest-element-in-a-bst Medium
0236-lowest-common-ancestor-of-a-binary-tree Medium
0399-evaluate-division Medium
0530-minimum-absolute-difference-in-bst Easy
0637-average-of-levels-in-binary-tree Easy

Breadth-First Search

Problem Name Difficulty
0100-same-tree Easy
0101-symmetric-tree Easy
0102-binary-tree-level-order-traversal Medium
0103-binary-tree-zigzag-level-order-traversal Medium
0104-maximum-depth-of-binary-tree Easy
0112-path-sum Easy
0117-populating-next-right-pointers-in-each-node-ii Medium
0127-word-ladder Hard
0130-surrounded-regions Medium
0133-clone-graph Medium
0199-binary-tree-right-side-view Medium
0200-number-of-islands Medium
0207-course-schedule Medium
0210-course-schedule-ii Medium
0226-invert-binary-tree Easy
0322-coin-change Medium
0399-evaluate-division Medium
0433-minimum-genetic-mutation Medium
0530-minimum-absolute-difference-in-bst Easy
0637-average-of-levels-in-binary-tree Easy
0909-snakes-and-ladders Medium

Binary Tree

Problem Name Difficulty
0098-validate-binary-search-tree Medium
0100-same-tree Easy
0101-symmetric-tree Easy
0102-binary-tree-level-order-traversal Medium
0103-binary-tree-zigzag-level-order-traversal Medium
0104-maximum-depth-of-binary-tree Easy
0105-construct-binary-tree-from-preorder-and-inorder-traversal Medium
0106-construct-binary-tree-from-inorder-and-postorder-traversal Medium
0108-convert-sorted-array-to-binary-search-tree Easy
0112-path-sum Easy
0114-flatten-binary-tree-to-linked-list Medium
0117-populating-next-right-pointers-in-each-node-ii Medium
0124-binary-tree-maximum-path-sum Hard
0129-sum-root-to-leaf-numbers Medium
0173-binary-search-tree-iterator Medium
0199-binary-tree-right-side-view Medium
0222-count-complete-tree-nodes Medium
0226-invert-binary-tree Easy
0230-kth-smallest-element-in-a-bst Medium
0236-lowest-common-ancestor-of-a-binary-tree Medium
0530-minimum-absolute-difference-in-bst Easy
0637-average-of-levels-in-binary-tree Easy

Bit Manipulation

Problem Name Difficulty
0067-add-binary Easy
0136-single-number Easy
0137-single-number-ii Medium
0190-reverse-bits Easy
0191-number-of-1-bits Easy
0201-bitwise-and-of-numbers-range Medium
0222-count-complete-tree-nodes Medium

Linked List

Problem Name Difficulty
0002-add-two-numbers Medium
0019-remove-nth-node-from-end-of-list Medium
0021-merge-two-sorted-lists Easy
0023-merge-k-sorted-lists Hard
0025-reverse-nodes-in-k-group Hard
0061-rotate-list Medium
0082-remove-duplicates-from-sorted-list-ii Medium
0086-partition-list Medium
0092-reverse-linked-list-ii Medium
0114-flatten-binary-tree-to-linked-list Medium
0117-populating-next-right-pointers-in-each-node-ii Medium
0138-copy-list-with-random-pointer Medium
0141-linked-list-cycle Easy
0146-lru-cache Medium
0148-sort-list Medium

Divide and Conquer

Problem Name Difficulty
0004-median-of-two-sorted-arrays Hard
0023-merge-k-sorted-lists Hard
0053-maximum-subarray Medium
0105-construct-binary-tree-from-preorder-and-inorder-traversal Medium
0106-construct-binary-tree-from-inorder-and-postorder-traversal Medium
0108-convert-sorted-array-to-binary-search-tree Easy
0148-sort-list Medium
0169-majority-element Easy
0190-reverse-bits Easy
0191-number-of-1-bits Easy
0215-kth-largest-element-in-an-array Medium
0427-construct-quad-tree Medium
0918-maximum-sum-circular-subarray Medium

Design

Problem Name Difficulty
0146-lru-cache Medium
0155-min-stack Medium
0173-binary-search-tree-iterator Medium
0208-implement-trie-prefix-tree Medium
0211-design-add-and-search-words-data-structure Medium
0295-find-median-from-data-stream Hard
0380-insert-delete-getrandom-o1 Medium

Binary Search Tree

Problem Name Difficulty
0098-validate-binary-search-tree Medium
0108-convert-sorted-array-to-binary-search-tree Easy
0173-binary-search-tree-iterator Medium
0230-kth-smallest-element-in-a-bst Medium
0530-minimum-absolute-difference-in-bst Easy

Iterator

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

DP on Trees

Problem Name Difficulty
0124-binary-tree-maximum-path-sum Hard

Memoization

Problem Name Difficulty
0070-climbing-stairs Easy
0139-word-break Medium

Knapsack Problem

Problem Name Difficulty
0322-coin-change Medium

Complete Knapsack

Problem Name Difficulty
0322-coin-change Medium

Backtracking

Problem Name Difficulty
0017-letter-combinations-of-a-phone-number Medium
0022-generate-parentheses Medium
0039-combination-sum Medium
0046-permutations Medium
0052-n-queens-ii Hard
0077-combinations Medium
0079-word-search Medium
0212-word-search-ii Hard

Bracket Sequences

Problem Name Difficulty
0022-generate-parentheses Medium

Matrix

Problem Name Difficulty
0036-valid-sudoku Medium
0048-rotate-image Medium
0054-spiral-matrix Medium
0063-unique-paths-ii Medium
0064-minimum-path-sum Medium
0073-set-matrix-zeroes Medium
0074-search-a-2d-matrix Medium
0079-word-search Medium
0130-surrounded-regions Medium
0200-number-of-islands Medium
0212-word-search-ii Hard
0221-maximal-square Medium
0289-game-of-life Medium
0427-construct-quad-tree Medium
0909-snakes-and-ladders Medium

Heap (Priority Queue)

Problem Name Difficulty
0023-merge-k-sorted-lists Hard
0215-kth-largest-element-in-an-array Medium
0295-find-median-from-data-stream Hard
0373-find-k-pairs-with-smallest-sums Medium
0502-ipo Hard

Merge Sort

Problem Name Difficulty
0023-merge-k-sorted-lists Hard
0148-sort-list Medium

Tournament Sort

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

Recursion

Problem Name Difficulty
0002-add-two-numbers Medium
0021-merge-two-sorted-lists Easy
0025-reverse-nodes-in-k-group Hard
0050-powx-n Medium
0224-basic-calculator Hard

Boyer–Moore Majority Vote Algorithm

Problem Name Difficulty
0169-majority-element Easy

Trie

Problem Name Difficulty
0014-longest-common-prefix Easy
0139-word-break Medium
0208-implement-trie-prefix-tree Medium
0211-design-add-and-search-words-data-structure Medium
0212-word-search-ii Hard

Floyd's Cycle Finding Algorithm

Problem Name Difficulty
0141-linked-list-cycle Easy

Simulation

Problem Name Difficulty
0054-spiral-matrix Medium
0067-add-binary Easy
0068-text-justification Hard
0289-game-of-life Medium

Quicksort

Problem Name Difficulty
0056-merge-intervals Medium

Counting Sort

Problem Name Difficulty
0274-h-index Medium

Brute-Force Search

Problem Name Difficulty
0139-word-break Medium

Longest Increasing Subsequence

Problem Name Difficulty
0300-longest-increasing-subsequence Medium

Manacher

Problem Name Difficulty
0005-longest-palindromic-substring Medium

String Matching

Problem Name Difficulty
0028-find-the-index-of-the-first-occurrence-in-a-string Easy

Z Algorithm

Problem Name Difficulty
0028-find-the-index-of-the-first-occurrence-in-a-string Easy

Knuth–Morris–Pratt Algorithm

Problem Name Difficulty
0028-find-the-index-of-the-first-occurrence-in-a-string Easy

Boyer–Moore String-Search Algorithm

Problem Name Difficulty
0028-find-the-index-of-the-first-occurrence-in-a-string Easy

Quickselect

Problem Name Difficulty
0215-kth-largest-element-in-an-array Medium

Queue

Problem Name Difficulty
0918-maximum-sum-circular-subarray Medium

Monotonic Queue

Problem Name Difficulty
0918-maximum-sum-circular-subarray Medium

Randomized

Problem Name Difficulty
0380-insert-delete-getrandom-o1 Medium

Doubly-Linked List

Problem Name Difficulty
0146-lru-cache Medium

Graph Theory

Problem Name Difficulty
0133-clone-graph Medium
0207-course-schedule Medium
0210-course-schedule-ii Medium
0399-evaluate-division Medium

Topological Sort

Problem Name Difficulty
0207-course-schedule Medium
0210-course-schedule-ii Medium

Directed Acyclic Graph

Problem Name Difficulty
0207-course-schedule Medium

Shortest Path

Problem Name Difficulty
0399-evaluate-division Medium

Bellman–Ford Algorithm

Problem Name Difficulty
0399-evaluate-division Medium

Floyd–Warshall Algorithm

Problem Name Difficulty
0399-evaluate-division Medium

Bidirectional Search

Problem Name Difficulty
0127-word-ladder Hard
0433-minimum-genetic-mutation Medium

Newton's Method

Problem Name Difficulty
0069-sqrtx Easy

Monotonic Stack

Problem Name Difficulty
0042-trapping-rain-water Hard

Algorithm X

Problem Name Difficulty
0052-n-queens-ii Hard

Data Stream

Problem Name Difficulty
0295-find-median-from-data-stream Hard

Geometry

Problem Name Difficulty
0149-max-points-on-a-line Hard

Euclidean Algorithm

Problem Name Difficulty
0149-max-points-on-a-line Hard

Greatest Common Divisor

Problem Name Difficulty
0149-max-points-on-a-line Hard

About

Collection of LeetCode questions to ace the coding interview! - Created using [LeetHub-3.0](https://github.com/raphaelheinz/LeetHub-3.0)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages