Repository: Sagar0-0/DSA Branch: main Commit: fb3dccef4374 Files: 2230 Total size: 2.2 MB Directory structure: gitextract_b94qtoqo/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ └── custom.md │ └── pull_request_template.md ├── 0012-integer-to-roman/ │ ├── 0012-integer-to-roman.java │ ├── 0012-integer-to-roman.py │ ├── NOTES.md │ └── README.md ├── 0026-remove-duplicates-from-sorted-array/ │ ├── 0026-remove-duplicates-from-sorted-array.java │ ├── 0026-remove-duplicates-from-sorted-array.py │ ├── NOTES.md │ └── README.md ├── 0036-valid-sudoku/ │ ├── 0036-valid-sudoku.java │ ├── 0036-valid-sudoku.py │ ├── NOTES.md │ └── README.md ├── 0037-sudoku-solver/ │ ├── 0037-sudoku-solver.java │ ├── NOTES.md │ └── README.md ├── 0038-count-and-say/ │ ├── 0038-count-and-say.java │ ├── 0038-count-and-say.py │ └── README.md ├── 0049-group-anagrams/ │ ├── 0049-group-anagrams.java │ ├── 0049-group-anagrams.py │ └── README.md ├── 0055-jump-game/ │ ├── 0055-jump-game.java │ ├── 0055-jump-game.py │ ├── NOTES.md │ └── README.md ├── 0057-insert-interval/ │ ├── 0057-insert-interval.java │ ├── 0057-insert-interval.py │ ├── NOTES.md │ └── README.md ├── 0070-climbing-stairs/ │ ├── 0070-climbing-stairs.java │ ├── NOTES.md │ └── README.md ├── 0076-minimum-window-substring/ │ ├── 0076-minimum-window-substring.java │ ├── NOTES.md │ └── README.md ├── 0079-word-search/ │ ├── 0079-word-search.java │ ├── NOTES.md │ └── README.md ├── 0093-restore-ip-addresses/ │ ├── 0093-restore-ip-addresses.java │ └── README.md ├── 0100-same-tree/ │ ├── 0100-same-tree.java │ ├── NOTES.md │ └── README.md ├── 0124-binary-tree-maximum-path-sum/ │ ├── 0124-binary-tree-maximum-path-sum.java │ ├── NOTES.md │ └── README.md ├── 0125-valid-palindrome/ │ ├── 0125-valid-palindrome.java │ ├── NOTES.md │ └── README.md ├── 0131-palindrome-partitioning/ │ ├── 0131-palindrome-partitioning.java │ ├── NOTES.md │ └── README.md ├── 0134-gas-station/ │ ├── 0134-gas-station.java │ ├── NOTES.md │ └── README.md ├── 0144-binary-tree-preorder-traversal/ │ ├── 0144-binary-tree-preorder-traversal.java │ ├── NOTES.md │ └── README.md ├── 0149-max-points-on-a-line/ │ ├── 0149-max-points-on-a-line.java │ ├── NOTES.md │ └── README.md ├── 0150-evaluate-reverse-polish-notation/ │ ├── 0150-evaluate-reverse-polish-notation.java │ ├── NOTES.md │ └── README.md ├── 0151-reverse-words-in-a-string/ │ ├── 0151-reverse-words-in-a-string.java │ ├── NOTES.md │ └── README.md ├── 0198-house-robber/ │ ├── 0198-house-robber.java │ └── README.md ├── 0212-word-search-ii/ │ ├── 0212-word-search-ii.java │ ├── NOTES.md │ └── README.md ├── 0219-contains-duplicate-ii/ │ ├── 0219-contains-duplicate-ii.java │ ├── NOTES.md │ └── README.md ├── 0222-count-complete-tree-nodes/ │ ├── 0222-count-complete-tree-nodes.java │ ├── NOTES.md │ └── README.md ├── 0223-rectangle-area/ │ ├── 0223-rectangle-area.java │ ├── NOTES.md │ └── README.md ├── 0224-basic-calculator/ │ ├── 0224-basic-calculator.java │ ├── NOTES.md │ └── README.md ├── 0232-implement-queue-using-stacks/ │ ├── 0232-implement-queue-using-stacks.java │ ├── NOTES.md │ └── README.md ├── 0236-lowest-common-ancestor-of-a-binary-tree/ │ ├── 0236-lowest-common-ancestor-of-a-binary-tree.java │ ├── NOTES.md │ └── README.md ├── 0237-delete-node-in-a-linked-list/ │ ├── 0237-delete-node-in-a-linked-list.java │ ├── NOTES.md │ └── README.md ├── 0242-valid-anagram/ │ ├── 0242-valid-anagram.cpp │ ├── 0242-valid-anagram.java │ ├── NOTES.md │ └── README.md ├── 0263-ugly-number/ │ ├── 0263-ugly-number.java │ ├── NOTES.md │ └── README.md ├── 0279-perfect-squares/ │ ├── 0279-perfect-squares.java │ ├── NOTES.md │ └── README.md ├── 0290-word-pattern/ │ ├── 0290-word-pattern.java │ └── README.md ├── 0295-find-median-from-data-stream/ │ ├── 0295-find-median-from-data-stream.java │ ├── NOTES.md │ └── README.md ├── 0309-best-time-to-buy-and-sell-stock-with-cooldown/ │ ├── 0309-best-time-to-buy-and-sell-stock-with-cooldown.java │ ├── NOTES.md │ └── README.md ├── 0328-odd-even-linked-list/ │ ├── 0328-odd-even-linked-list.java │ ├── NOTES.md │ └── README.md ├── 0334-increasing-triplet-subsequence/ │ ├── 0334-increasing-triplet-subsequence.java │ ├── NOTES.md │ └── README.md ├── 0345-reverse-vowels-of-a-string/ │ ├── 0345-reverse-vowels-of-a-string.java │ ├── NOTES.md │ └── README.md ├── 0374-guess-number-higher-or-lower/ │ ├── 0374-guess-number-higher-or-lower.java │ ├── NOTES.md │ └── README.md ├── 0380-insert-delete-getrandom-o1/ │ ├── 0380-insert-delete-getrandom-o1.java │ ├── NOTES.md │ └── README.md ├── 0409-longest-palindrome/ │ ├── 0409-longest-palindrome.java │ ├── NOTES.md │ └── README.md ├── 0446-arithmetic-slices-ii-subsequence/ │ ├── 0446-arithmetic-slices-ii-subsequence.java │ ├── NOTES.md │ └── README.md ├── 0451-sort-characters-by-frequency/ │ ├── 0451-sort-characters-by-frequency.java │ ├── NOTES.md │ └── README.md ├── 0452-minimum-number-of-arrows-to-burst-balloons/ │ ├── 0452-minimum-number-of-arrows-to-burst-balloons.java │ ├── NOTES.md │ └── README.md ├── 0491-non-decreasing-subsequences/ │ ├── 0491-non-decreasing-subsequences.java │ ├── NOTES.md │ └── README.md ├── 0520-detect-capital/ │ ├── 0520-detect-capital.java │ └── NOTES.md ├── 0523-continuous-subarray-sum/ │ ├── 0523-continuous-subarray-sum.java │ ├── NOTES.md │ └── README.md ├── 0587-erect-the-fence/ │ ├── 0587-erect-the-fence.java │ └── README.md ├── 0645-set-mismatch/ │ ├── 0645-set-mismatch.java │ ├── NOTES.md │ └── README.md ├── 0692-top-k-frequent-words/ │ ├── 0692-top-k-frequent-words.java │ ├── NOTES.md │ └── README.md ├── 0739-daily-temperatures/ │ ├── 0739-daily-temperatures.java │ └── README.md ├── 0766-toeplitz-matrix/ │ ├── 0766-toeplitz-matrix.java │ └── README.md ├── 0787-cheapest-flights-within-k-stops/ │ ├── 0787-cheapest-flights-within-k-stops.java │ ├── NOTES.md │ └── README.md ├── 0790-domino-and-tromino-tiling/ │ ├── 0790-domino-and-tromino-tiling.java │ ├── NOTES.md │ └── README.md ├── 0797-all-paths-from-source-to-target/ │ ├── 0797-all-paths-from-source-to-target.java │ ├── NOTES.md │ └── README.md ├── 0834-sum-of-distances-in-tree/ │ ├── 0834-sum-of-distances-in-tree.java │ ├── NOTES.md │ └── README.md ├── 0835-image-overlap/ │ ├── 0835-image-overlap.java │ ├── NOTES.md │ └── README.md ├── 0841-keys-and-rooms/ │ ├── 0841-keys-and-rooms.java │ ├── NOTES.md │ └── README.md ├── 0872-leaf-similar-trees/ │ ├── 0872-leaf-similar-trees.java │ ├── NOTES.md │ └── README.md ├── 0876-middle-of-the-linked-list/ │ ├── 0876-middle-of-the-linked-list.java │ ├── NOTES.md │ └── README.md ├── 0886-possible-bipartition/ │ ├── 0886-possible-bipartition.java │ ├── NOTES.md │ └── README.md ├── 0899-orderly-queue/ │ ├── 0899-orderly-queue.java │ ├── NOTES.md │ └── README.md ├── 0901-online-stock-span/ │ ├── 0901-online-stock-span.java │ ├── NOTES.md │ └── README.md ├── 0907-sum-of-subarray-minimums/ │ ├── 0907-sum-of-subarray-minimums.java │ ├── NOTES.md │ └── README.md ├── 0909-snakes-and-ladders/ │ ├── 0909-snakes-and-ladders.java │ ├── NOTES.md │ └── README.md ├── 0918-maximum-sum-circular-subarray/ │ ├── 0918-maximum-sum-circular-subarray.java │ └── README.md ├── 0926-flip-string-to-monotone-increasing/ │ ├── 0926-flip-string-to-monotone-increasing.java │ └── NOTES.md ├── 0938-range-sum-of-bst/ │ ├── 0938-range-sum-of-bst.java │ ├── NOTES.md │ └── README.md ├── 0944-delete-columns-to-make-sorted/ │ ├── 0944-delete-columns-to-make-sorted.java │ ├── NOTES.md │ └── README.md ├── 0947-most-stones-removed-with-same-row-or-column/ │ ├── 0947-most-stones-removed-with-same-row-or-column.java │ ├── NOTES.md │ └── README.md ├── 0974-subarray-sums-divisible-by-k/ │ ├── 0974-subarray-sums-divisible-by-k.java │ ├── NOTES.md │ └── README.md ├── 0976-largest-perimeter-triangle/ │ ├── 0976-largest-perimeter-triangle.java │ ├── NOTES.md │ └── README.md ├── 0980-unique-paths-iii/ │ ├── 0980-unique-paths-iii.java │ ├── NOTES.md │ └── README.md ├── 0997-find-the-town-judge/ │ ├── 0997-find-the-town-judge.java │ ├── NOTES.md │ └── README.md ├── 1007-minimum-domino-rotations-for-equal-row/ │ ├── 1007-minimum-domino-rotations-for-equal-row.java │ ├── NOTES.md │ └── README.md ├── 102-binary-tree-level-order-traversal/ │ ├── 102-binary-tree-level-order-traversal.java │ ├── 102-binary-tree-level-order-traversal.py │ ├── NOTES.md │ └── README.md ├── 1020-number-of-enclaves/ │ └── 1020-number-of-enclaves.cpp ├── 1020. Number of Enclaves.java ├── 1026-maximum-difference-between-node-and-ancestor/ │ ├── 1026-maximum-difference-between-node-and-ancestor.java │ ├── NOTES.md │ └── README.md ├── 1029-two-city-scheduling/ │ ├── 1029-two-city-scheduling.java │ ├── NOTES.md │ └── README.md ├── 1046-last-stone-weight/ │ ├── 1046-last-stone-weight.java │ ├── NOTES.md │ └── README.md ├── 1047-remove-all-adjacent-duplicates-in-string/ │ ├── 1047-remove-all-adjacent-duplicates-in-string.java │ ├── NOTES.md │ └── README.md ├── 1048-longest-string-chain/ │ ├── 1048-longest-string-chain.java │ ├── NOTES.md │ └── README.md ├── 105-construct-binary-tree-from-preorder-and-inorder-traversal/ │ ├── 105-construct-binary-tree-from-preorder-and-inorder-traversal.java │ ├── NOTES.md │ └── README.md ├── 1061-lexicographically-smallest-equivalent-string/ │ ├── 1061-lexicographically-smallest-equivalent-string.java │ ├── NOTES.md │ └── README.md ├── 1074-number-of-submatrices-that-sum-to-target/ │ ├── 1074-number-of-submatrices-that-sum-to-target.java │ └── NOTES.md ├── 108-convert-sorted-array-to-binary-search-tree/ │ ├── 108-convert-sorted-array-to-binary-search-tree.java │ ├── NOTES.md │ └── README.md ├── 1081-smallest-subsequence-of-distinct-characters/ │ ├── 1081-smallest-subsequence-of-distinct-characters.java │ ├── NOTES.md │ └── README.md ├── 1091-shortest-path-in-binary-matrix/ │ ├── 1091-shortest-path-in-binary-matrix.java │ ├── NOTES.md │ └── README.md ├── 11-container-with-most-water/ │ ├── 11-container-with-most-water.java │ ├── Container_With_Most_Water.cpp │ ├── NOTES.md │ └── README.md ├── 112-path-sum/ │ ├── 112-path-sum.java │ ├── NOTES.md │ └── README.md ├── 113 Path Sum II med s24.cpp ├── 113-Path-Sum-II.cpp ├── 113-path-sum-ii/ │ ├── 113-path-sum-ii.java │ ├── 113. Path Sum II.cpp │ ├── NOTES.md │ └── README.md ├── 114-flatten-binary-tree-to-linked-list/ │ ├── 114-flatten-binary-tree-to-linked-list.java │ ├── NOTES.md │ ├── README.md │ └── SolutionCode.cpp ├── 1143-longest-common-subsequence/ │ ├── 1143-longest-common-subsequence.java │ └── README.md ├── 1155-number-of-dice-rolls-with-target-sum/ │ ├── 1155-number-of-dice-rolls-with-target-sum.java │ ├── NOTES.md │ └── README.md ├── 117-populating-next-right-pointers-in-each-node-ii/ │ ├── 117-populating-next-right-pointers-in-each-node-ii.java │ ├── NOTES.md │ └── README.md ├── 118-pascals-triangle/ │ ├── 118-pascals-triangle.java │ ├── NOTES.md │ └── README.md ├── 1192-critical-connections-in-a-network/ │ ├── 1192-critical-connections-in-a-network.java │ └── README.md ├── 12-integer-to-roman/ │ ├── 12-Leetcode-Integer-to-roman.cpp │ ├── 12-integer-to-roman.java │ ├── NOTES.md │ └── README.md ├── 120-triangle/ │ ├── 120-triangle.java │ ├── NOTES.md │ └── README.md ├── 1207-unique-number-of-occurrences/ │ ├── 1207-unique-number-of-occurrences.java │ ├── NOTES.md │ └── README.md ├── 1209-remove-all-adjacent-duplicates-in-string-ii/ │ ├── 1209-remove-all-adjacent-duplicates-in-string-ii.java │ ├── NOTES.md │ └── README.md ├── 1220-count-vowels-permutation/ │ ├── 1220-count-vowels-permutation.java │ ├── NOTES.md │ └── README.md ├── 1235-maximum-profit-in-job-scheduling/ │ ├── 1235-maximum-profit-in-job-scheduling.java │ ├── NOTES.md │ └── README.md ├── 1239-maximum-length-of-a-concatenated-string-with-unique-characters/ │ ├── 1239-maximum-length-of-a-concatenated-string-with-unique-characters.java │ ├── NOTES.md │ └── README.md ├── 126-word-ladder-ii/ │ ├── 126-word-ladder-ii.java │ ├── NOTES.md │ └── README.md ├── 1260-shift-2d-grid/ │ ├── 1260-shift-2d-grid.java │ ├── NOTES.md │ └── README.md ├── 1268-search-suggestions-system/ │ ├── 1268-search-suggestions-system.java │ ├── NOTES.md │ └── README.md ├── 128-longest-consecutive-sequence/ │ ├── 128-longest-consecutive-sequence.java │ ├── NOTES.md │ └── README.md ├── 1293-shortest-path-in-a-grid-with-obstacles-elimination/ │ ├── 1293-shortest-path-in-a-grid-with-obstacles-elimination.java │ ├── NOTES.md │ └── README.md ├── 13-roman-to-integer/ │ ├── 13-roman-to-integer.cpp │ ├── 13-roman-to-integer.java │ ├── NOTES.md │ └── README.md ├── 1302-deepest-leaves-sum/ │ ├── 1302-deepest-leaves-sum.java │ ├── NOTES.md │ └── README.md ├── 1323-maximum-69-number/ │ ├── 1323-maximum-69-number.java │ ├── NOTES.md │ └── README.md ├── 1328-break-a-palindrome/ │ ├── 1328-break-a-palindrome.java │ ├── NOTES.md │ └── README.md ├── 1329-sort-the-matrix-diagonally/ │ ├── 1329-sort-the-matrix-diagonally.cpp │ ├── 1329-sort-the-matrix-diagonally.java │ ├── NOTES.md │ ├── README.md │ └── SolutionCode.cpp ├── 1332-remove-palindromic-subsequences/ │ ├── 1332-remove-palindromic-subsequences.java │ └── README.md ├── 1335-minimum-difficulty-of-a-job-schedule/ │ ├── 1335-minimum-difficulty-of-a-job-schedule.java │ ├── NOTES.md │ └── README.md ├── 1337-the-k-weakest-rows-in-a-matrix/ │ ├── 1337-the-k-weakest-rows-in-a-matrix.java │ ├── NOTES.md │ └── README.md ├── 1338-reduce-array-size-to-the-half/ │ ├── 1338-reduce-array-size-to-the-half.cpp │ ├── 1338-reduce-array-size-to-the-half.java │ └── README.md ├── 1339-maximum-product-of-splitted-binary-tree/ │ ├── 1339-maximum-product-of-splitted-binary-tree.java │ ├── NOTES.md │ └── README.md ├── 1342-number-of-steps-to-reduce-a-number-to-zero/ │ ├── 1342-number-of-steps-to-reduce-a-number-to-zero.java │ ├── NOTES.md │ └── README.md ├── 135-candy/ │ ├── 135-candy.java │ ├── NOTES.md │ └── README.md ├── 1354-construct-target-array-with-multiple-sums/ │ ├── 1354-construct-target-array-with-multiple-sums.java │ ├── NOTES.md │ └── README.md ├── 1379-find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree/ │ ├── 1379-find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree.java │ └── README.md ├── 1381. Design a Stack With Increment Operation/ │ └── 1381-Design-a-Stack-With-Increment-Operation.cpp ├── 1383 Maximum Performance of a Team lc hard.cpp ├── 1383-maximum-performance-of-a-team/ │ ├── 1383-maximum-performance-of-a-team.java │ └── README.md ├── 1396-design-underground-system/ │ ├── 1396-design-underground-system.java │ ├── NOTES.md │ └── README.md ├── 14. Longest Common Prefix.py ├── 1423-maximum-points-you-can-obtain-from-cards/ │ ├── 1423-maximum-points-you-can-obtain-from-cards.java │ ├── NOTES.md │ └── README.md ├── 143-Reorder List.java ├── 1443-minimum-time-to-collect-all-apples-in-a-tree/ │ ├── 1443-minimum-time-to-collect-all-apples-in-a-tree.java │ └── README.md ├── 1448-count-good-nodes-in-binary-tree/ │ ├── 1448-count-good-nodes-in-binary-tree.java │ ├── NOTES.md │ └── README.md ├── 1457 Pseudo-Palindromic Paths in a Binary Tree lc.cpp ├── 1457-pseudo-palindromic-paths-in-a-binary-tree/ │ ├── 1457-pseudo-palindromic-paths-in-a-binary-tree.java │ └── README.md ├── 1461-check-if-a-string-contains-all-binary-codes-of-size-k/ │ ├── 1461-check-if-a-string-contains-all-binary-codes-of-size-k.java │ ├── NOTES.md │ └── README.md ├── 1465-maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts/ │ ├── 1465-maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts.java │ ├── NOTES.md │ └── README.md ├── 1473-paint-house-iii/ │ ├── 1473-paint-house-iii.java │ ├── NOTES.md │ └── README.md ├── 1480-running-sum-of-1d-array/ │ ├── 1480-running-sum-of-1d-array.java │ ├── NOTES.md │ └── README.md ├── 15. 3Sum/ │ └── SolutionCode.cpp ├── 151. Reverse Words in a String.java ├── 1519-number-of-nodes-in-the-sub-tree-with-the-same-label/ │ ├── 1519-number-of-nodes-in-the-sub-tree-with-the-same-label.java │ ├── NOTES.md │ └── README.md ├── 1531-string-compression-ii/ │ ├── 1531-string-compression-ii.java │ ├── NOTES.md │ └── README.md ├── 1544-make-the-string-great/ │ ├── 1544-make-the-string-great.java │ ├── NOTES.md │ └── README.md ├── 1578-minimum-time-to-make-rope-colorful/ │ ├── 1578-minimum-time-to-make-rope-colorful.java │ ├── NOTES.md │ └── README.md ├── 1584-min-cost-to-connect-all-points/ │ ├── 1584-min-cost-to-connect-all-points.java │ ├── NOTES.md │ └── README.md ├── 16-3sum-closest/ │ ├── 16-3sum-closest.java │ ├── NOTES.md │ └── README.md ├── 16. 3Sum Closest - leetcode/ │ └── SolutionCode.cpp ├── 160-intersection-of-two-linked-lists/ │ ├── 160-intersection-of-two-linked-lists.java │ ├── NOTES.md │ └── README.md ├── 1631-path-with-minimum-effort/ │ ├── 1631-path-with-minimum-effort.java │ ├── NOTES.md │ └── README.md ├── 1641-count-sorted-vowel-strings/ │ ├── 1641-count-sorted-vowel-strings.java │ ├── NOTES.md │ └── README.md ├── 1642-furthest-building-you-can-reach/ │ ├── 1642-furthest-building-you-can-reach.java │ ├── NOTES.md │ └── README.md ├── 1647-minimum-deletions-to-make-character-frequencies-unique/ │ ├── 1647-minimum-deletions-to-make-character-frequencies-unique.java │ ├── NOTES.md │ └── README.md ├── 1657-determine-if-two-strings-are-close/ │ ├── 1657-determine-if-two-strings-are-close.java │ ├── NOTES.md │ └── README.md ├── 1658-minimum-operations-to-reduce-x-to-zero/ │ ├── 1658-minimum-operations-to-reduce-x-to-zero.java │ ├── NOTES.md │ └── README.md ├── 1662-check-if-two-string-arrays-are-equivalent/ │ ├── 1662-check-if-two-string-arrays-are-equivalent.java │ ├── NOTES.md │ └── README.md ├── 1663-smallest-string-with-a-given-numeric-value/ │ ├── 1663-smallest-string-with-a-given-numeric-value.java │ ├── NOTES.md │ └── README.md ├── 167-two-sum-ii-input-array-is-sorted/ │ ├── 167-two-sum-ii-input-array-is-sorted.java │ ├── NOTES.md │ └── README.md ├── 1679-max-number-of-k-sum-pairs/ │ ├── 1679-max-number-of-k-sum-pairs.java │ └── NOTES.md ├── 1680 Concatenation of Consecutive Binary Numbers med s23.cpp ├── 1680-concatenation-of-consecutive-binary-numbers/ │ ├── 1680-concatenation-of-consecutive-binary-numbers.java │ └── README.md ├── 1689-partitioning-into-minimum-number-of-deci-binary-numbers/ │ ├── 1689-partitioning-into-minimum-number-of-deci-binary-numbers.java │ ├── NOTES.md │ └── README.md ├── 1695-maximum-erasure-value/ │ ├── 1695-maximum-erasure-value.java │ ├── NOTES.md │ └── README.md ├── 1696-jump-game-vi/ │ ├── 1696-jump-game-vi.java │ ├── NOTES.md │ └── README.md ├── 17-letter-combinations-of-a-phone-number/ │ ├── 17-letter-combinations-of-a-phone-number.java │ ├── NOTES.md │ └── README.md ├── 1704-determine-if-string-halves-are-alike/ │ ├── 1704-determine-if-string-halves-are-alike.java │ ├── NOTES.md │ └── README.md ├── 1706-where-will-the-ball-fall/ │ ├── 1706-where-will-the-ball-fall.java │ ├── NOTES.md │ └── README.md ├── 1710-maximum-units-on-a-truck/ │ ├── 1710-maximum-units-on-a-truck.java │ ├── NOTES.md │ └── README.md ├── 1721-swapping-nodes-in-a-linked-list/ │ ├── 1721-swapping-nodes-in-a-linked-list.java │ └── README.md ├── 173-binary-search-tree-iterator/ │ ├── 173-binary-search-tree-iterator.java │ ├── NOTES.md │ └── binary-search-tree-iterator.cpp ├── 1742. Maximum Number of Balls in a Box(leetcode) ├── 1770 Maximum Score from Performing Multiplication Operations lc.cpp ├── 1770-maximum-score-from-performing-multiplication-operations/ │ ├── 1770-maximum-score-from-performing-multiplication-operations.java │ ├── NOTES.md │ └── README.md ├── 179-Largest Number.java ├── 1791. Find Center of Star Graph.java ├── 1832-check-if-the-sentence-is-pangram/ │ ├── 1832-check-if-the-sentence-is-pangram.java │ ├── NOTES.md │ └── README.md ├── 1833-maximum-ice-cream-bars/ │ ├── 1833-maximum-ice-cream-bars.java │ ├── NOTES.md │ └── README.md ├── 1834-single-threaded-cpu/ │ ├── 1834-single-threaded-cpu.java │ ├── NOTES.md │ └── README.md ├── 188-best-time-to-buy-and-sell-stock-iv/ │ ├── 188-best-time-to-buy-and-sell-stock-iv.java │ ├── NOTES.md │ └── README.md ├── 188. Best Time to Buy and Sell Stock IV.cpp ├── 19-remove-nth-node-from-end-of-list/ │ ├── 19-remove-nth-node-from-end-of-list.java │ ├── NOTES.md │ └── README.md ├── 191-number-of-1-bits/ │ ├── 191-number-of-1-bits.java │ ├── NOTES.md │ └── README.md ├── 1926-nearest-exit-from-entrance-in-maze/ │ ├── 1926-nearest-exit-from-entrance-in-maze.java │ ├── NOTES.md │ └── README.md ├── 1962-remove-stones-to-minimize-the-total/ │ ├── 1962-remove-stones-to-minimize-the-total.java │ ├── NOTES.md │ └── README.md ├── 1971-find-if-path-exists-in-graph/ │ ├── 1971-find-if-path-exists-in-graph.java │ └── README.md ├── 199-binary-tree-right-side-view/ │ ├── 199-binary-tree-right-side-view.java │ ├── NOTES.md │ └── README.md ├── 1991-find-the-middle-index-in-array/ │ ├── 1991-find-the-middle-index-in-array.java │ ├── NOTES.md │ └── README.md ├── 1996-the-number-of-weak-characters-in-the-game/ │ ├── 1996-the-number-of-weak-characters-in-the-game.cpp │ ├── 1996-the-number-of-weak-characters-in-the-game.java │ ├── NOTES.md │ └── README.md ├── 200-number-of-islands/ │ ├── 200-number-of-islands.java │ ├── NOTES.md │ └── README.md ├── 2007 Find Original Array From Doubled Array lc.cpp ├── 2007-find-original-array-from-doubled-array/ │ ├── 2007-find-original-array-from-doubled-array.java │ ├── NOTES.md │ └── README.md ├── 2095-delete-the-middle-node-of-a-linked-list/ │ ├── 2095-delete-the-middle-node-of-a-linked-list.java │ └── NOTES.md ├── 2131-longest-palindrome-by-concatenating-two-letter-words/ │ ├── 2131-longest-palindrome-by-concatenating-two-letter-words.java │ └── README.md ├── 2136-earliest-possible-day-of-full-bloom/ │ ├── 2136-earliest-possible-day-of-full-bloom.java │ └── NOTES.md ├── 215-kth-largest-element-in-an-array/ │ ├── 215-kth-largest-element-in-an-array.java │ └── NOTES.md ├── 216-combination-sum-iii/ │ ├── 216-combination-sum-iii.java │ ├── NOTES.md │ └── README.md ├── 218-the-skyline-problem/ │ ├── 218-the-skyline-problem.java │ ├── NOTES.md │ └── README.md ├── 2225-find-players-with-zero-or-one-losses/ │ ├── 2225-find-players-with-zero-or-one-losses.java │ ├── NOTES.md │ └── README.md ├── 2244-minimum-rounds-to-complete-all-tasks/ │ ├── 2244-minimum-rounds-to-complete-all-tasks.java │ ├── NOTES.md │ └── README.md ├── 2246-longest-path-with-different-adjacent-characters/ │ ├── 2246-longest-path-with-different-adjacent-characters.java │ ├── NOTES.md │ └── README.md ├── 225-implement-stack-using-queues/ │ ├── 225-implement-stack-using-queues.java │ └── NOTES.md ├── 2256-minimum-average-difference/ │ ├── 2256-minimum-average-difference.java │ ├── NOTES.md │ └── README.md ├── 2279-maximum-bags-with-full-capacity-of-rocks/ │ ├── 2279-maximum-bags-with-full-capacity-of-rocks.java │ ├── NOTES.md │ └── README.md ├── 23-Merge-k-Sorted-Lists/ │ ├── 23-Merge-k-Sorted-Lists.cpp │ ├── NOTES.md │ └── README.md ├── 230-kth-smallest-element-in-a-bst/ │ ├── 230-kth-smallest-element-in-a-bst.java │ └── NOTES.md ├── 234-palindrome-linked-list/ │ ├── 234-palindrome-linked-list.java │ ├── 234-palindrome-linked-list.py │ ├── NOTES.md │ ├── README.md │ └── palindrome-linked-list.cpp ├── 234. Palindrome Linked List/ │ └── SolutionCode.cpp ├── 235-lowest-common-ancestor-of-a-binary-search-tree/ │ ├── 235-lowest-common-ancestor-of-a-binary-search-tree.java │ ├── 235-lowest-common-ancestor-of-a-binary-search-tree.py │ ├── NOTES.md │ └── README.md ├── 2359-find-closest-node-to-given-two-nodes/ │ ├── NOTES.md │ └── README.md ├── 236-lowest-common-ancestor-of-a-binary-tree/ │ ├── 236-lowest-common-ancestor-of-a-binary-tree.java │ └── NOTES.md ├── 237-delete-node-in-a-linked-list/ │ ├── 237-delete-node-in-a-linked-list.java │ └── NOTES.md ├── 2389-longest-subsequence-with-limited-sum/ │ ├── 2389-longest-subsequence-with-limited-sum.java │ ├── NOTES.md │ └── README.md ├── 2389_longest_subsequence_with_limited_sum.cpp ├── 2390_removing_stars_from_a_string.cpp ├── 2395_Find_Subarrays_With_Equal_Sum.cpp ├── 240-search-a-2d-matrix-ii/ │ ├── 240-search-a-2d-matrix-ii.java │ ├── NOTES.md │ └── README.md ├── 242-valid-anagram/ │ ├── 242-valid-anagram.java │ ├── NOTES.md │ └── README.md ├── 2421-number-of-good-paths/ │ ├── 2421-number-of-good-paths.java │ └── NOTES.md ├── 2429-minimize-xor/ │ ├── 2429-minimize-xor.cpp │ ├── Notes.md │ └── Readme.md ├── 2453-destroy-sequential-targets/ │ ├── 2453-destroy-sequential-targets.java │ └── NOTES.md ├── 268-missing-number/ │ ├── 268-missing-number.java │ ├── NOTES.md │ └── README.md ├── 284-peeking-iterator/ │ ├── 284-peeking-iterator.java │ └── README.md ├── 287-find-the-duplicate-number/ │ ├── 287-find-the-duplicate-number.java │ ├── NOTES.md │ └── README.md ├── 289-game-of-life/ │ ├── 289-game-of-life.java │ ├── NOTES.md │ └── README.md ├── 29-divide-two-integers/ │ ├── 29-divide-two-integers.java │ └── NOTES.md ├── 3-longest-substring-without-repeating-characters/ │ ├── 3-longest-substring-without-repeating-characters.java │ ├── NOTES.md │ └── README.md ├── 30-substring-with-concatenation-of-all-words/ │ ├── 30-substring-with-concatenation-of-all-words.java │ ├── 30-substring-with-concatenation-of-all-words.py │ ├── NOTES.md │ └── README.md ├── 300-longest-increasing-subsequence/ │ ├── 300-longest-increasing-subsequence.java │ ├── NOTES.md │ └── README.md ├── 304-range-sum-query-2d-immutable/ │ ├── 304-range-sum-query-2d-immutable.java │ ├── NOTES.md │ └── README.md ├── 307-range-sum-query-mutable/ │ ├── 307-range-sum-query-mutable.java │ ├── NOTES.md │ └── README.md ├── 31-next-permutation/ │ ├── 31-next-permutation.java │ ├── NOTES.md │ ├── README.md │ └── nextPurmutation.cpp ├── 315-count-of-smaller-numbers-after-self/ │ ├── 315-count-of-smaller-numbers-after-self.java │ ├── NOTES.md │ └── README.md ├── 316-remove-duplicate-letters/ │ ├── 316-remove-duplicate-letters.java │ ├── NOTES.md │ └── README.md ├── 318-maximum-product-of-word-lengths/ │ ├── 318-maximum-product-of-word-lengths.java │ ├── NOTES.md │ └── README.md ├── 32-longest-valid-parentheses/ │ ├── 32-longest-valid-parentheses.java │ ├── NOTES.md │ └── README.md ├── 322-coin-change/ │ ├── 322-coin-change.java │ ├── NOTES.md │ └── README.md ├── 326-power-of-three/ │ ├── 326-power-of-three.java │ ├── 326_Power_of_three.cpp │ ├── NOTES.md │ └── README.md ├── 329-longest-increasing-path-in-a-matrix/ │ ├── 329-longest-increasing-path-in-a-matrix.java │ └── README.md ├── 33-search-in-rotated-sorted-array/ │ ├── 33-search-in-rotated-sorted-array.java │ └── README.md ├── 336-palindrome-pairs/ │ ├── 336-palindrome-pairs.java │ ├── NOTES.md │ └── README.md ├── 34-find-first-and-last-position-of-element-in-sorted-array/ │ ├── 34-find-first-and-last-position-of-element-in-sorted-array.java │ └── README.md ├── 341-flatten-nested-list-iterator/ │ ├── 341-flatten-nested-list-iterator.java │ ├── NOTES.md │ └── README.md ├── 342-power-of-four/ │ ├── 342-power-of-four.java │ ├── NOTES.md │ ├── README.md │ └── power of four.cpp ├── 344-reverse-string/ │ ├── 344-reverse-string.java │ ├── NOTES.md │ └── README.md ├── 347-top-k-frequent-elements/ │ ├── 347-top-k-frequent-elements.cpp │ ├── 347-top-k-frequent-elements.java │ ├── NOTES.md │ └── README.md ├── 354-russian-doll-envelopes/ │ ├── 354-russian-doll-envelopes.java │ ├── NOTES.md │ └── README.md ├── 363-max-sum-of-rectangle-no-larger-than-k/ │ ├── 363-max-sum-of-rectangle-no-larger-than-k.cpp │ ├── 363-max-sum-of-rectangle-no-larger-than-k.java │ ├── NOTES.md │ └── README.md ├── 37-Sudoku-solver/ │ ├── 37-Sudoku-solver.js │ └── README.md ├── 371-sum-of-two-integers/ │ ├── 371-sum-of-two-integers.java │ ├── NOTES.md │ └── README.md ├── 376-wiggle-subsequence/ │ ├── 376-wiggle-subsequence.java │ ├── NOTES.md │ └── README.md ├── 377-combination-sum-iv/ │ ├── 377-combination-sum-iv.java │ ├── NOTES.md │ └── README.md ├── 378-kth-smallest-element-in-a-sorted-matrix/ │ ├── 378-kth-smallest-element-in-a-sorted-matrix.java │ └── NOTES.md ├── 383-ransom-note/ │ ├── 383-ransom-note.java │ ├── NOTES.md │ ├── README.md │ ├── ransom-note.cpp │ └── ransome-note-two-approaches.cpp ├── 387-first-unique-character-in-a-string/ │ ├── 387-first-unique-character-in-a-string.java │ ├── NOTES.md │ ├── README.md │ └── first-unique-character-in-a-string.CPP ├── 393-utf-8-validation/ │ ├── 393-utf-8-validation.java │ ├── NOTES.md │ └── README.md ├── 399-evaluate-division/ │ ├── 399-evaluate-division.java │ ├── NOTES.md │ └── README.md ├── 4-median-of-two-sorted-arrays/ │ ├── 4-median-of-two-sorted-arrays.java │ └── NOTES.md ├── 406-queue-reconstruction-by-height/ │ ├── 406-queue-reconstruction-by-height.java │ ├── NOTES.md │ └── README.md ├── 410-split-array-largest-sum/ │ ├── 410-split-array-largest-sum.java │ ├── NOTES.md │ └── README.md ├── 417-pacific-atlantic-water-flow/ │ ├── 417-pacific-atlantic-water-flow.java │ ├── NOTES.md │ └── README.md ├── 417_Pacific Atlantic Water Flow.cpp ├── 42 Trapping Rain Water hd s18.cpp ├── 42-trapping-rain-water/ │ ├── 42-trapping-rain-water.java │ ├── NOTES.md │ └── README.md ├── 429-n-ary-tree-level-order-traversal/ │ ├── 429-n-ary-tree-level-order-traversal.cpp │ ├── 429-n-ary-tree-level-order-traversal.java │ ├── NOTES.md │ └── README.md ├── 456-132-pattern/ │ ├── 456-132-pattern.java │ ├── NOTES.md │ └── README.md ├── 458-poor-pigs/ │ ├── 458-poor-pigs.java │ ├── NOTES.md │ └── README.md ├── 462-minimum-moves-to-equal-array-elements-ii/ │ ├── 462-minimum-moves-to-equal-array-elements-ii.java │ ├── NOTES.md │ └── README.md ├── 47-permutations-ii/ │ ├── 47-permutations-ii.java │ ├── NOTES.md │ └── README.md ├── 473-matchsticks-to-square/ │ ├── 473-matchsticks-to-square.java │ ├── NOTES.md │ └── README.md ├── 474-ones-and-zeroes/ │ ├── 474-ones-and-zeroes.java │ ├── NOTES.md │ └── README.md ├── 48-rotate-image/ │ ├── 48-Rotate-Image.cpp │ ├── 48-rotate-image.java │ ├── NOTES.md │ └── README.md ├── 5-longest-palindromic-substring/ │ ├── 5-longest-palindromic-substring.java │ ├── NOTES.md │ └── README.md ├── 50-powx-n/ │ ├── 50-powx-n.java │ ├── NOTES.md │ └── README.md ├── 509-fibonacci-number/ │ ├── 509-fibonacci-number.java │ ├── NOTES.md │ └── README.md ├── 51-n-queens/ │ ├── 51-n-queens.java │ ├── NOTES.md │ └── README.md ├── 52-n-queens-ii/ │ ├── 52-n-queens-ii.java │ ├── NOTES.md │ └── README.md ├── 53-maximum-subarray/ │ ├── 53-maximum-subarray.java │ ├── Maximum Subarray.py │ ├── NOTES.md │ └── README.md ├── 535-encode-and-decode-tinyurl/ │ ├── 535-encode-and-decode-tinyurl.java │ ├── NOTES.md │ └── README.md ├── 538-convert-bst-to-greater-tree/ │ ├── 538-convert-bst-to-greater-tree.java │ ├── NOTES.md │ └── README.md ├── 541-reverse-string-ii/ │ ├── 541-reverse-string-ii.java │ ├── NOTES.md │ └── README.md ├── 557 Reverse Words in a String III easy lc s22.cpp ├── 557-reverse-words-in-a-string-iii/ │ ├── 557-reverse-words-in-a-string-iii.java │ └── NOTES.md ├── 560. Subarray Sum Equals K/ │ └── 560. Subarray Sum Equals K.cpp ├── 576-out-of-boundary-paths/ │ ├── 576-out-of-boundary-paths.java │ ├── NOTES.md │ └── README.md ├── 581-shortest-unsorted-continuous-subarray/ │ ├── 581-shortest-unsorted-continuous-subarray.java │ ├── NOTES.md │ └── README.md ├── 583-delete-operation-for-two-strings/ │ ├── 583-delete-operation-for-two-strings.java │ ├── NOTES.md │ └── README.md ├── 59-spiral-matrix-ii/ │ ├── 59-spiral-matrix-ii.java │ ├── NOTES.md │ └── README.md ├── 6-zigzag-conversion/ │ ├── 6-zigzag-conversion.java │ ├── NOTES.md │ └── README.md ├── 606-construct-string-from-binary-tree/ │ ├── 606-construct-string-from-binary-tree.java │ ├── NOTES.md │ └── README.md ├── 609 Find Duplicate File in System lc med s19.cpp ├── 609-find-duplicate-file-in-system/ │ ├── 609-find-duplicate-file-in-system.java │ ├── NOTES.md │ └── README.md ├── 62-unique-paths/ │ ├── 62-unique-paths.java │ ├── NOTES.md │ └── README.md ├── 622-design-circular-queue/ │ ├── 622-design-circular-queue.java │ ├── NOTES.md │ └── README.md ├── 623-add-one-row-to-tree/ │ ├── 623-add-one-row-to-tree.java │ ├── NOTES.md │ └── README.md ├── 629-k-inverse-pairs-array/ │ ├── 629-k-inverse-pairs-array.java │ ├── NOTES.md │ └── README.md ├── 63-unique-paths-ii/ │ ├── 63-unique-paths-ii.java │ ├── NOTES.md │ └── README.md ├── 630-course-schedule-iii/ │ ├── 630-course-schedule-iii.java │ └── README.md ├── 637-average-of-levels-in-binary-tree/ │ ├── 637-average-of-levels-in-binary-tree.cpp │ ├── 637-average-of-levels-in-binary-tree.java │ └── README.md ├── 637-average-of-levels-in-binary-tree.py ├── 647-palindromic-substrings/ │ ├── 647-palindromic-substrings.java │ └── NOTES.md ├── 653-two-sum-iv-input-is-a-bst/ │ ├── 653-two-sum-iv-input-is-a-bst.java │ ├── NOTES.md │ └── README.md ├── 658-find-k-closest-elements/ │ ├── 658-find-k-closest-elements.java │ └── README.md ├── 659-split-array-into-consecutive-subsequences/ │ ├── 659-split-array-into-consecutive-subsequences.cpp │ ├── 659-split-array-into-consecutive-subsequences.java │ ├── NOTES.md │ └── README.md ├── 665-non-decreasing-array/ │ ├── 665-non-decreasing-array.java │ ├── NOTES.md │ └── README.md ├── 669-trim-a-binary-search-tree/ │ ├── 669-trim-a-binary-search-tree.java │ ├── NOTES.md │ └── README.md ├── 680-valid-palindrome-ii/ │ ├── 680-valid-palindrome-ii.java │ ├── NOTES.md │ └── README.md ├── 682-baseball-game/ │ ├── 682-baseball-game.java │ ├── NOTES.md │ └── README.md ├── 695-max-area-of-island/ │ ├── 695-max-area-of-island.java │ ├── NOTES.md │ ├── README.md │ └── SolutionCode.cpp ├── 698-partition-to-k-equal-sum-subsets/ │ ├── 698-partition-to-k-equal-sum-subsets.java │ └── README.md ├── 7 Segment Display.java ├── 70-climbing-stairs/ │ ├── 70-climbing-stairs.java │ ├── NOTES.md │ └── README.md ├── 700-search-in-a-binary-search-tree/ │ ├── 700-search-in-a-binary-search-tree.java │ ├── NOTES.md │ └── README.md ├── 703-kth-largest-element-in-a-stream/ │ ├── 703-kth-largest-element-in-a-stream.py │ └── NOTES.md ├── 704-binary-search/ │ ├── 704-binary-search.java │ ├── NOTES.md │ └── README.md ├── 705-design-hashset/ │ ├── 705-design-hashset.java │ ├── NOTES.md │ └── README.md ├── 706-design-hashmap/ │ ├── 706-design-hashmap.java │ ├── NOTES.md │ └── README.md ├── 713_Subarray_Product_Less_Than_K.cpp ├── 718-Maximum-Length-of-Repeated-Subarray.cpp ├── 718-maximum-length-of-repeated-subarray/ │ ├── 718-maximum-length-of-repeated-subarray.java │ ├── NOTES.md │ ├── README.md │ └── Solved Using DP.java ├── 718. Maximum Length of Repeated Subarray/ │ └── 718. Maximum Length of Repeated Subarray.cpp ├── 718. Maximum Length of Repeated Subarray lc med s20.cpp ├── 724-find-pivot-index/ │ ├── 724-find-pivot-index.java │ ├── NOTES.md │ └── README.md ├── 729-my-calendar-i/ │ ├── 729-my-calendar-i.java │ ├── NOTES.md │ └── README.md ├── 732-my-calendar-iii/ │ ├── 732-my-calendar-iii.java │ ├── NOTES.md │ └── README.md ├── 74-search-a-2d-matrix/ │ ├── 74-search-a-2d-matrix.java │ ├── NOTES.md │ └── README.md ├── 743-network-delay-time/ │ ├── 743-network-delay-time.java │ ├── NOTES.md │ └── README.md ├── 745-prefix-and-suffix-search/ │ ├── 745-prefix-and-suffix-search.java │ ├── NOTES.md │ └── README.md ├── 746-min-cost-climbing-stairs/ │ ├── 746-min-cost-climbing-stairs.java │ ├── NOTES.md │ └── README.md ├── 76-minimum-window-substring/ │ ├── 76-minimum-window-substring.java │ ├── NOTES.md │ └── README.md ├── 763-partition-labels/ │ ├── 763-partition-labels.java │ ├── NOTES.md │ └── README.md ├── 785-is-graph-bipartite/ │ ├── 785-is-graph-bipartite.java │ ├── NOTES.md │ └── README.md ├── 791-Custom-Sort-String-Leetcode.cpp ├── 792-number-of-matching-subsequences/ │ ├── 792-number-of-matching-subsequences.java │ ├── NOTES.md │ └── README.md ├── 802. Find Eventual Safe States.java ├── 804-unique-morse-code-words/ │ ├── 804-unique-morse-code-words.java │ ├── NOTES.md │ ├── README.md │ └── unique-morse-code.cpp ├── 81-search-in-rotated-sorted-array-ii/ │ ├── 81-search-in-rotated-sorted-array-ii.java │ ├── NOTES.md │ └── README.md ├── 814-binary-tree-pruning/ │ ├── 814-binary-tree-pruning.java │ └── README.md ├── 82-remove-duplicates-from-sorted-list-ii/ │ ├── 82-remove-duplicates-from-sorted-list-ii.java │ ├── NOTES.md │ └── README.md ├── 820-short-encoding-of-words/ │ ├── 820-short-encoding-of-words.java │ ├── NOTES.md │ └── README.md ├── 823-binary-trees-with-factors/ │ ├── 823-binary-trees-with-factors.java │ ├── NOTES.md │ └── README.md ├── 838-push-dominoes/ │ ├── 838-push-dominoes.java │ ├── NOTES.md │ └── README.md ├── 844-backspace-string-compare/ │ ├── 844-backspace-string-compare.java │ ├── NOTES.md │ └── README.md ├── 845_Longest_Mountain_in_Array.cpp ├── 856-score-of-parentheses/ │ ├── 856-score-of-parentheses.java │ ├── NOTES.md │ └── README.md ├── 86-partition-list/ │ ├── 86-partition-list.java │ ├── NOTES.md │ └── README.md ├── 867-transpose-matrix/ │ ├── 867-transpose-matrix.java │ └── README.md ├── 869-Reordered-Power-of-2/ │ └── 869-Reordered-Power-of-2.cpp ├── 871-minimum-number-of-refueling-stops/ │ ├── 871-minimum-number-of-refueling-stops.java │ ├── Minimum-Number-of-Refueling-Stops.cpp │ ├── NOTES.md │ └── README.md ├── 871. Minimum Number of Refueling Stops.cpp ├── 876-middle-of-the-linked-list/ │ ├── 876-middle-of-the-linked-list.java │ ├── NOTES.md │ └── README.md ├── 88-merge-sorted-array/ │ ├── 88-merge-sorted-array.java │ ├── NOTES.md │ └── README.md ├── 881-boats-to-save-people/ │ ├── 881-boats-to-save-people.java │ ├── NOTES.md │ └── README.md ├── 890-find-and-replace-pattern/ │ ├── 890-find-and-replace-pattern.java │ ├── NOTES.md │ └── README.md ├── 895-maximum-frequency-stack/ │ ├── 895-maximum-frequency-stack.java │ ├── NOTES.md │ └── README.md ├── 897-increasing-order-search-tree/ │ ├── 897-increasing-order-search-tree.java │ ├── NOTES.md │ └── README.md ├── 905-sort-array-by-parity/ │ ├── 905-sort-array-by-parity.java │ ├── NOTES.md │ └── README.md ├── 91-decode-ways/ │ ├── 91-decode-ways.java │ ├── NOTES.md │ └── README.md ├── 916-word-subsets/ │ ├── 916-word-subsets.java │ ├── NOTES.md │ └── README.md ├── 92-reverse-linked-list-ii/ │ ├── 92-reverse-linked-list-ii.java │ ├── NOTES.md │ └── README.md ├── 923-3sum-with-multiplicity/ │ ├── 923-3sum-with-multiplicity.java │ ├── NOTES.md │ └── README.md ├── 936-stamping-the-sequence/ │ ├── 936-stamping-the-sequence.java │ ├── NOTES.md │ ├── README.md │ ├── Stamping The Sequence.cpp │ └── stamping-the-sequence.cpp ├── 94-binary-tree-inorder-traversal/ │ ├── 94-binary-tree-inorder-traversal.java │ ├── Binary Tree InOrder Traversal lc.cpp │ ├── NOTES.md │ └── README.md ├── 94. Binary Tree Inorder Traversal.cpp ├── 948 Bag of Tokens lc med.cpp ├── 948-bag-of-tokens/ │ ├── 948-bag-of-tokens.java │ ├── NOTES.md │ └── README.md ├── 96-Unique Binary Search Trees.java ├── 967-numbers-with-same-consecutive-differences/ │ ├── 967-numbers-with-same-consecutive-differences.java │ ├── NOTES.md │ └── README.md ├── 968-binary-tree-cameras/ │ ├── 968-binary-tree-cameras.java │ ├── NOTES.md │ └── README.md ├── 97-interleaving-string/ │ ├── 97-interleaving-string.java │ ├── NOTES.md │ └── README.md ├── 98-validate-binary-search-tree/ │ ├── 98-validate-binary-search-tree.java │ ├── NOTES.md │ └── README.md ├── 981-time-based-key-value-store/ │ ├── 981-time-based-key-value-store.java │ ├── NOTES.md │ └── README.md ├── 985 Sum of Even Numbers After Queries lc med.cpp ├── 985-sum-of-even-numbers-after-queries/ │ ├── 985-sum-of-even-numbers-after-queries.java │ ├── NOTES.md │ └── README.md ├── 987-vertical-order-traversal-of-a-binary-tree/ │ ├── 987-vertical-order-traversal-of-a-binary-tree.java │ ├── NOTES.md │ └── README.md ├── 99-recover-binary-search-tree/ │ ├── 99-recover-binary-search-tree.java │ └── README.md ├── 990-satisfiability-of-equality-equations/ │ ├── 990-satisfiability-of-equality-equations.java │ ├── NOTES.md │ └── README.md ├── 991-broken-calculator/ │ ├── 991-broken-calculator.java │ ├── NOTES.md │ └── README.md ├── Add 1 to linked list.java ├── Add Binary Strings.java ├── Add Digits.java ├── Add One To Array.java ├── Add Two Numbers.java ├── Add all greater values to every node in a BST.java ├── Add binary.java ├── Adding Array Elements.java ├── Adventure in a Maze - GFG/ │ ├── README.md │ └── adventure-in-a-maze.java ├── Alien Dictionary - GFG/ │ └── Alien Dictionary.cpp ├── All Elements in Two Binary Search Trees.java ├── All Factors.py ├── All Possible Combinations.java ├── All Unique Permutations.java ├── Allocate minimum number of pages.cpp ├── Alternate positive and negative numbers.cpp ├── Alternate positive and negative numbers.java ├── Anagram of String.java ├── Anagrams.java ├── Anti Diagonals.py ├── Arithmetic Slices.java ├── Array 3 Pointers.java ├── Array Partition - GFG/ │ ├── README.md │ └── array-partition.java ├── Array Sum.java ├── Array to BST - GFG/ │ ├── README.md │ └── array-to-bst.java ├── Assign Mice to Holes.java ├── Assignment Problem - GFG/ │ ├── README.md │ ├── assignment-problem.cpp │ ├── assignment-problem.java │ ├── assignment-problem.py │ └── hungarian_java(not_accepted).java ├── Average of level in Binary tree.cpp ├── Average of levels in binary tree.java ├── BST To Max Heap.cpp ├── BST to greater sum tree - GFG/ │ ├── README.md │ └── bst-to-greater-sum-tree.java ├── BST to max heap GFG/ │ └── BstToMaxHeap.cpp ├── BST to max heap gfg med.cpp ├── BST-to-max-Heap/ │ ├── BSTtoMaxHeap.java │ ├── Solution.cpp │ └── question.md ├── Bag Of Tokens.java ├── Balance Array.java ├── Balanced Binary Tree.java ├── Balanced Parantheses!.java ├── Ball Coloring.cpp ├── Ball coloring.cpp ├── Ball coloring.java ├── Ball coloring.py ├── Ball-Coloring/ │ ├── ball_coloring.java │ └── question.md ├── Best Time to Buy and Sell Stock IV.java ├── Best Time to Buy and Sell Stock.java ├── Biconnected Graph.java ├── Bike Racing - GFG/ │ ├── README.md │ └── bike-racing.java ├── Binary Matrix with at most K 1s.java ├── Binary Tree Pruning lc.cpp ├── Binary Tree Pruning.java ├── Bipartite Graph - GFG/ │ ├── README.md │ └── bipartite-graph.java ├── Bit Difference - GFG/ │ └── Bit Difference.cpp ├── Bitwise AND of the Array.java ├── Black Shapes.java ├── Book_Allcoation_Problem.cpp ├── Brackets in Matrix Chain Multiplication - GFG/ │ ├── README.md │ ├── brackets-in-matrix-chain-multiplication.cpp │ └── brackets-in-matrix-chain-multiplication.java ├── Brain Game - GFG/ │ ├── README.md │ ├── brain-game.cpp │ └── brain-game.java ├── Breadth first search.cpp ├── Broken blocks - GFG/ │ ├── README.md │ └── broken-blocks.java ├── Burning Tree.cpp ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Can Make Triangle.java ├── Can Place Flowers.java ├── Capacity To Ship Packages Within D Days.java ├── Capitalize the Title ├── Case-specific Sorting of Strings.java ├── Case-specific Sorting of Strings.py ├── Case-specific Sorting string.cpp ├── Ceil in BST.java ├── Champagne Tower.java ├── Change Bits - GFG/ │ ├── README.md │ └── change-bits.java ├── Check Mirror in N-ary tree.java ├── Check Palindrome!.java ├── Check if Every Row and Column Contains All Numbers ├── Check if subtree ├── Cherry Pickup II (LC) ├── Chips Factory.java ├── Chocolate_Distribution_Problem_gfg.cpp ├── Choose and Swap - GFG/ │ ├── README.md │ └── choose-and-swap.java ├── Climbing Stairs.java ├── Clone Graph.java ├── Clone a stack without using extra space ├── Closest Palindrome - GFG/ │ ├── README.md │ └── closest-palindrome.java ├── Coin Piles - GFG/ │ ├── README.md │ └── coin-piles.java ├── Coins of Geekland.java ├── Combination Sum II.java ├── Combination Sum.java ├── Combinations.java ├── Compare Version Numbers.java ├── Complete Binary Tree.java ├── Composite And Prime.java ├── Composite and Prime gfg med s18.cpp ├── Composite and Prime.cpp ├── Composite and Prime.java ├── Composite and Prime.py ├── Composite-and-prime.cpp ├── Compute Before Matrix.java ├── Concatenate two numbers.java ├── Connect Ropes.java ├── Consecutive Parent - Child.java ├── Construct BST from Preorder.java ├── Construct Binary Tree From Inorder And Preorder.java ├── Construct String With Repeat Limit.java ├── Construct String from Binary Tree lc easy.cpp ├── Construct String from Binary Tree.java ├── Container With Most Water.java ├── Contiguous Binary Array.java ├── Convert Sorted List to Binary Search Tree.java ├── Convert the amount in number to words.java ├── Convert to Palindrome.java ├── Copy List with Random Pointer.java ├── Corona Vaccine.java ├── Count All Valid Pickup and Delivery Options.java ├── Count And Say.java ├── Count BST nodes that lie in a given range - GFG/ │ ├── README.md │ └── count-bst-nodes-that-lie-in-a-given-range.java ├── Count Common Words With One Occurrence ├── Count Integers With Even Digit Sum.py ├── Count Operations to Obtain Zero.java ├── Count Palindromic Subsequence.cpp ├── Count Palindromic Subsequences.java ├── Count Smaller elements.java ├── Count Words Obtained After Adding a Letter ├── Count digit groupings of a number - GFG/ │ ├── README.md │ └── count-digit-groupings-of-a-number.java ├── Count occurrences of a given word in a 2-d array(dynamic programming).cpp ├── Count occurrences of a given word in a 2-d array.cpp ├── Count occurrences of a given word in a 2-d array.java ├── Count occurrences of a given word in a 2-d array.py ├── Count pairs in array divisible by K - GFG/ │ ├── README.md │ └── count-pairs-in-array-divisible-by-k.java ├── Count possible ways to construct buildings - GFG/ │ ├── README.md │ └── count-possible-ways-to-construct-buildings.java ├── Count subsequences of type a^i, b^j, c^k - GFG/ │ ├── README.md │ └── count-subsequences-of-type-ai-bj-ck.java ├── Count the paths - GFG/ │ ├── README.md │ └── count-the-paths.java ├── Count-occurrences-of-a-given-string-in-2d-array.cpp ├── Count_occurences_of_a_given_word_in_a_2-d_array/ │ ├── Solution.java │ └── question.md ├── Counting Bits.java ├── Counts Zeros Xor Pairs - GFG/ │ ├── README.md │ └── counts-zeros-xor-pairs.java ├── Course Schedule - GFG/ │ ├── README.md │ └── course-schedule.java ├── Cousins of a given node.java ├── Covered-Uncovered Nodes.java ├── Create number of weak characters in game.java ├── Delete and Earn.java ├── Delete nodes greater than k.java ├── Deserialize.java ├── Design Add and Search Words Data Structure.java ├── Design Bitset.java ├── Design Browser History/ │ └── Design-Browser-History.cpp ├── Diagonal Traversal of Binary Tree - GFG/ │ ├── README.md │ └── diagonal-traversal-of-binary-tree.java ├── Different Bits Sum Pairwise.java ├── Diffk II.java ├── Diffk.java ├── Digital Root.java ├── Dijkstra’s_Algorithm_Shortest_distance.cpp ├── Distance from the Source (Bellman-Ford Algorithm).java ├── Distinct Numbers in Window.java ├── Distinct Subsequences.java ├── Distinct palindromic substrings.java ├── Distribute in Circle!.java ├── Divisible by 60.java ├── Dungeon Princess.java ├── Earthquake and the Paint Shop - GFG/ │ ├── README.md │ └── earthquake-and-the-paint-shop.java ├── Egg Dropping Puzzle.java ├── Elements in the Range.java ├── Equivalent Sub-Arrays - GFG/ │ ├── README.md │ └── equivalent-sub-arrays.java ├── Escape the Forbidden Forest.java ├── Eulerian Path in an Undirected Graph - GFG/ │ ├── README.md │ └── eulerian-path-in-an-undirected-graph.java ├── Evaluate Expression To True.java ├── Evaluate Expression(Postfix).java ├── Even and Odd - GFG/ │ ├── README.md │ └── even-and-odd.java ├── Exactly one swap.java ├── Excel Column Title.java ├── Excel Sheet Column Number.java ├── Exceptionally odd.java ├── Fact Digit Sum/ │ └── Fact-Digit-Sum.cpp ├── Fact Digit Sum.cpp ├── Fact Digit Sum.java ├── Farthest number - GFG/ │ ├── README.md │ └── farthest-number.java ├── File Search.java ├── Fill the Tank - GFG/ │ ├── README.md │ └── fill-the-tank.java ├── Filling Bucket - GFG/ │ ├── README.md │ └── filling-bucket.java ├── Find All Anagrams in a String.java ├── Find Last Digit.java ├── Find Missing And Repeating.java ├── Find Original Array From Doubled Array.java ├── Find Prime numbers in a range.java ├── Find Second Smallest and Second Largest Element in an array without sorting/ │ └── Find-Second-Smallest-and-Second-Largest-Element-in-an-array-with-out-sorting.cpp ├── Find Three Consecutive Integers That Sum to a Given Number.py ├── Find Transition Point - GFG/ │ ├── README.md │ └── find-transition-point.java ├── Find a peak element.java ├── Find all distinct subset (or subsequence) sums - GFG/ │ └── Find all distinct subset (or subsequence) sums.cpp ├── Find all distinct subset (or subsequence) sums.java ├── Find all possible paths from top to bottom - GFG/ │ ├── README.md │ └── find-all-possible-paths-from-top-to-bottom.java ├── Find an Replace in String - GFG/ │ ├── README.md │ └── find-an-replace-in-string.java ├── Find length of Loop - GFG/ │ ├── README.md │ └── find-length-of-loop.java ├── Find pairs with given sum in doubly linked list.cpp ├── Find pairs with given sum in doubly linked list.java ├── Find rectangle with corners as 1.java ├── Find the Difference.java ├── Find the Maximum Flow - GFG/ │ ├── README.md │ └── find-the-maximum-flow.java ├── Find the nearest smaller number in left.cpp ├── Find the number of islands.java ├── Find whether path exist - GFG/ │ ├── README.md │ └── find-whether-path-exist.java ├── Find-Pattern/ │ ├── find_patter.java │ └── question.md ├── Finding Profession - GFG/ │ ├── README.md │ └── finding-profession.java ├── Firing employees.java ├── First Missing Integer.java ├── First Repeating element.java ├── Flip.java ├── Foldable Binary Tree.cpp ├── Foldable Binary Tree.java ├── Form a palindrome - GFG/ │ ├── README.md │ └── form-a-palindrome.java ├── Form coils in a matrix - GFG/ │ ├── README.md │ └── form-coils-in-a-matrix.java ├── Fraction Trouble - GFG/ │ ├── README.md │ └── fraction-trouble.java ├── Fraction.java ├── Friends Pairing Problem DP.java ├── Friends Pairing Problem.cpp ├── Friends Pairing Problem.java ├── GFG/ │ ├── 0 -1 Knapsack Problem/ │ │ └── 0 - 1 Knapsack Problem.java │ ├── 2D Hopscotch/ │ │ └── 2D Hopscotch.java │ ├── 3 Divisors/ │ │ └── 3 Divisors.java │ ├── A Game of LCM/ │ │ └── A Game of LCM.java │ ├── A difference of values and indexes/ │ │ └── A difference of values and indexes.java │ ├── Absolute List Sorting/ │ │ └── Absolute List Sorting.java │ ├── Absolute difference divisible by K/ │ │ └── Absolute difference divisible by K.java │ ├── Add Binary Strings/ │ │ └── Add Binary Strings.java │ ├── Aggressive Cows/ │ │ └── Aggressive Cows.java │ ├── Akku and Binary Numbers/ │ │ └── Akku and Binary Numbers.java │ ├── Alex Travelling/ │ │ ├── Alex Travelling.cpp │ │ └── Alex Travelling.java │ ├── Alternate Vowel and Consonant String/ │ │ ├── Alternate Vowel and Consonant String.java │ │ └── ReadMe.md │ ├── Array Pair Sum Divisibility Problem/ │ │ └── Array Pair Sum Divisibility Problem.java │ ├── Array Removals/ │ │ ├── Array Removals.cpp │ │ └── Array Removals.java │ ├── Articulation Point - I/ │ │ └── Articulation Point - I.java │ ├── Asteroid Collision/ │ │ ├── Asteroid Collision.cpp │ │ └── Asteroid Collision.java │ ├── Balanced string/ │ │ └── Balanced string.java │ ├── Base Equivalance/ │ │ └── Base Equivalence.java │ ├── Base Equivalence/ │ │ └── Base Equivalence.java │ ├── Binary Tree to DLL/ │ │ ├── Binary Tree to DLL.cpp │ │ └── Binary Tree to DLL.java │ ├── Black and White/ │ │ └── Black and White.java │ ├── Break a number/ │ │ └── Break a number.java │ ├── Build the smallest/ │ │ └── Build the smallest.java │ ├── Burst Balloons/ │ │ └── Burst Balloons.java │ ├── Check for BST/ │ │ └── Check for BST.java │ ├── Check if all levels of two trees are anagrams or not/ │ │ └── Check if all levels of two trees are anagrams or not.java │ ├── Check if it is possible to convert one string into another with given constraints/ │ │ └── Check if it is possible to convert one string into another with given constraints.java │ ├── Chicks in a Zoo/ │ │ ├── Chicks in a Zoo.cpp │ │ └── Chicks in a Zoo.java │ ├── Complement/ │ │ └── Complement.java │ ├── Construct Binary Tree from String with bracket representation/ │ │ ├── Construct Binary Tree from String with bracket representation.cpp │ │ └── Construct Binary Tree from String with bracket representation.java │ ├── Container With Most Water/ │ │ ├── Container With Most Water.cpp │ │ └── Container With Most Water.java │ ├── Count Lucky Permutations/ │ │ └── Count Lucky Permutations.java │ ├── Count all possible paths from top left to bottom right/ │ │ ├── Count all possible paths from top left to bottom right oc4.cpp │ │ ├── Count all possible paths from top left to bottom right.cpp │ │ └── README.md │ ├── Count even length/ │ │ └── Count even length.java │ ├── Count of Subarrays/ │ │ ├── Count of Subarrays.cpp │ │ ├── Count of Subarrays.java │ │ └── README.md │ ├── Count the Substring/ │ │ ├── Count the Substring.cpp │ │ └── Count the Substring.java │ ├── Counting Elements in Two Arrays/ │ │ ├── Counting Elements in Two Arrays.cpp │ │ ├── Counting Elements in Two Arrays.java │ │ └── Counting Elements in Two Arrays.py │ ├── Cycle in Directed Graph/ │ │ └── Cycle in Directed Graph.java │ ├── Cycle in Undirected Graph/ │ │ └── Cycle in Undirected Graph.java │ ├── Decode the string/ │ │ ├── Decode the string.cpp │ │ ├── Decode the string.java │ │ └── README.md │ ├── Distance of nearest cell having 1/ │ │ └── Distance of nearest cell having 1.java │ ├── Earthquake and the Paint Shop/ │ │ ├── Earthquake and the Paint Shop.cpp │ │ └── README.md │ ├── Enemy/ │ │ ├── Enemy.cpp │ │ └── Enemy.java │ ├── Fill up buckets/ │ │ ├── Fill up buckets.cpp │ │ └── Fill up buckets.java │ ├── Filling Bucket/ │ │ ├── Filling Bucket.cpp │ │ ├── Filling Bucket.java │ │ └── README.md │ ├── Find The Safe Position/ │ │ ├── Find The Safe Position s30.cpp │ │ └── Find the Safe Position.java │ ├── Find minimum number of Laptops required/ │ │ ├── Find minimum number of Laptops required.cpp │ │ └── Find minimum number of Laptops required.java │ ├── Find patterns/ │ │ ├── Find patterns.cpp │ │ ├── Find patterns.java │ │ └── README.md │ ├── Find the N-th character/ │ │ └── Find the N-th character.cpp │ ├── Find the first node of loop in linked list/ │ │ └── Find the first node of loop in linked list.java │ ├── Find the longest string/ │ │ └── Find the longest string.java │ ├── Find the maximum GCD of the siblings of a Binary Tree/ │ │ └── Find the maximum GCD of the siblings of a Binary Tree.java │ ├── Fitting The Array/ │ │ ├── Fitting The Array s28.cpp │ │ ├── Fitting The Array.cpp │ │ └── Fitting The Array.java │ ├── Flatten binary tree to linked list/ │ │ ├── Flatten binary tree to linked list.java │ │ └── Readme.md │ ├── Flattening a Linked List/ │ │ └── Flattening a Linked List.java │ ├── Floyd Warshall/ │ │ ├── Floyd Warshall.java │ │ ├── FloydWarshall.cpp │ │ └── README.md │ ├── Form a palindrome/ │ │ └── Form a palindrome.py │ ├── GCD Array/ │ │ └── GCD Array.java │ ├── Geek and Number String/ │ │ └── Geek and Number Str.cpp │ ├── Geek and Strings/ │ │ ├── Geek and Strings.java │ │ └── ReadMe.md │ ├── Geek in a Maze/ │ │ ├── Geek in a maze.java │ │ └── README.md │ ├── Grouping Of Numbers/ │ │ └── Grouping Of Numbers.java │ ├── Hamiltonian Path/ │ │ ├── Hamiltonian Path.cpp │ │ ├── Hamiltonian Path.java │ │ └── README.md │ ├── Help Ishaan/ │ │ ├── Help Ishaan.cpp │ │ ├── Help Ishaan.java │ │ └── README.md │ ├── Help a Thief/ │ │ ├── Help a thief.cpp │ │ └── README.md │ ├── Help the Old Man/ │ │ ├── Help the old man.java │ │ └── README.md │ ├── Hungry Pizza Lovers/ │ │ ├── Hungry pizza lovers.java │ │ └── README.md │ ├── IPL/ │ │ └── IPL.cpp │ ├── IPL 2021 - Match Day 2/ │ │ └── IPL 2021 - Match Day 2 gfg med s22.cpp │ ├── Ishaan Loves Chocolates/ │ │ ├── Ishaan loves chocolates.py │ │ └── README.md │ ├── Josephus problem/ │ │ └── Josephus problem.java │ ├── Jump Game/ │ │ ├── Jump game.java │ │ └── README.md │ ├── Jumping Numbers/ │ │ ├── Jumping Numbers.cpp │ │ └── README.md │ ├── K-Ary Tree/ │ │ └── README.md │ ├── Knight Walk/ │ │ ├── Knight Walk.cpp │ │ └── Knight Walk.java │ ├── Kth smallest element/ │ │ └── Kth smallest element.py │ ├── LCM Triplet/ │ │ └── LCM Triplet.java │ ├── Largest subtree sum in a tree/ │ │ ├── Largest subtree sum in a tree.cpp │ │ └── Largest subtree sum in a tree.java │ ├── Last modified ball/ │ │ └── Last modified ball.java │ ├── Longest Bitonic subsequence/ │ │ └── Longest Bitonic subsequence.java │ ├── Longest Perfect Piece/ │ │ └── Longest Perfect Piece.java │ ├── Magic Triplets/ │ │ └── Magic Triplets.java │ ├── Majority Element/ │ │ ├── Majority Element.java │ │ ├── Majority Element.py │ │ └── README.md │ ├── Make array elements unique/ │ │ └── Make array elements unique.java │ ├── Max Min/ │ │ ├── Max Min.cpp │ │ ├── Max Min.java │ │ ├── Max Min.py │ │ └── README.md │ ├── Maximize the sum of selected numbers from an array to make it empty/ │ │ ├── Maximize the sum of selected numbers from a sorted array to make it empty.cpp │ │ ├── Maximize the sum of selected numbers from an array to make it empty.java │ │ └── README.md │ ├── Maximum Number of Toys/ │ │ └── Maximum Number of Toys.java │ ├── Maximum Profit By Choosing A Subset Of Intervals/ │ │ └── Maximum Profit By Choosing A Subset Of Intervals.java │ ├── Maximum Sub Array/ │ │ └── Maximum Sub Array.java │ ├── Maximum Sub-String after at most K changes/ │ │ ├── Maximum Sub-String after at most K changes.cpp │ │ ├── Maximum Sub-String after at most K changes.java │ │ └── README.md │ ├── Maximum Sum LCM/ │ │ └── Maximum Sum LCM.java │ ├── Maximum Value/ │ │ └── Maximum Value.java │ ├── Maximum of all subarrays of size k/ │ │ └── Maximum of all subarrays of size k.java │ ├── Median in a row-wise sorted Matrix/ │ │ └── Median in a row-wise sorted Matrix.java │ ├── Merge Sort/ │ │ └── Merge Sort.java │ ├── Merge two BST 's/ │ │ └── Merge two BST.cpp │ ├── Min operations/ │ │ └── Min operations.java │ ├── Minimize number of Students to be removed/ │ │ └── Minimize number of Students to be removed.java │ ├── Minimize the sum/ │ │ └── Minimize the sum.java │ ├── Minimum Cost of ropes/ │ │ └── Minimum Cost of ropes.java │ ├── Minimum Costs of Ropes/ │ │ └── Minimum Costs of Ropes.cpp │ ├── Minimum characters to be added at front to make string palindrome/ │ │ ├── Minimum characters to be added at front to make string palindrome oc2.cpp │ │ ├── Minimum characters to be added at front to make string palindrome.cpp │ │ ├── Minimum characters to be added at front to make string palindrome.java │ │ ├── Minimum characters to be added at front to make string palindrome.py │ │ └── README.md │ ├── Minimum number of Coins/ │ │ ├── Minimum number of Coins.cpp │ │ └── Minimum number of Coins.java │ ├── Minimum sum partition/ │ │ ├── Minimum sum partition.cpp │ │ ├── Minimum sum partition.java │ │ └── README.md │ ├── Missing number in matrix.java/ │ │ └── Missing number in matrix.java │ ├── Modified Numbers and Queries/ │ │ ├── Modified Numbers And Queries.java │ │ ├── Modified Numbers and Queries oc3.cpp │ │ ├── Modified Numbers and Queries.py │ │ └── README.md │ ├── Move Last Element to Front of a Linked List/ │ │ ├── Move Last Element to Front of a Linked List 2 different approaches.java │ │ ├── Move Last Element to Front of a Linked List.cpp │ │ ├── Move Last Element to Front of a Linked List.java │ │ └── README.md │ ├── Next Greater Element/ │ │ └── Next Greater Element.java │ ├── Next Happy Number/ │ │ └── Next Happy Number.java │ ├── Nine Divisors/ │ │ ├── Nine Divisors.cpp │ │ └── Nine Divisors.java │ ├── Number Formation/ │ │ ├── Number Formation.cpp │ │ ├── Number Formation.java │ │ └── README.md │ ├── Number Of Islands/ │ │ ├── Number Of Islands.cpp │ │ ├── Number Of Islands.java │ │ └── README.md │ ├── Number Of Open Doors/ │ │ └── Number Of Open Doors.java │ ├── Number of Distinct Islands/ │ │ ├── Number of Distinct Islands oct1.cpp │ │ └── Number of Distinct Islands.py │ ├── Number of turns in binary tree/ │ │ ├── Number of turns in binary tree.cpp │ │ └── Number of turns in binary tree.java │ ├── Phone directory/ │ │ ├── Phone directory.cpp │ │ └── Phone directory.java │ ├── Primes sum/ │ │ ├── Primes sum.cpp │ │ ├── Primes sum.java │ │ └── README.md │ ├── Print Diagonally/ │ │ ├── Print Diagonally.cpp │ │ ├── Print Diagonally.java │ │ └── README.md │ ├── Print leaf nodes from preorder traversal of BST/ │ │ ├── Print leaf nodes from preorder traversal of BST.cpp │ │ ├── Print leaf nodes from preorder traversal of BST.java │ │ └── README.md │ ├── Queries on a matrix/ │ │ └── Queries on a matrix hard s25 gfg.cpp │ ├── Rearrange Array Alternately/ │ │ └── Rearrange Array Alternately.java │ ├── Reorder List/ │ │ └── Reorder List.java │ ├── Replace O's with X's/ │ │ └── Replace O's with X's.cpp │ ├── Replace every element with the least greater element on its right/ │ │ ├── README.md │ │ ├── Replace every element with the least greater element on its right.cpp │ │ └── Replace every element with the least greater element on its right.java │ ├── Reverse Spiral Form of Matrix/ │ │ ├── Reverse Spiral Form of Matrix.cpp │ │ └── Reverse Spiral Form of Matrix.java │ ├── Satisfy the equation/ │ │ └── Satisfy the equation.java │ ├── Save Your Life/ │ │ ├── README.md │ │ ├── Save Your Life.cpp │ │ └── Save Your Life.java │ ├── Search Pattern (KMP-Algorithm)/ │ │ └── Search Pattern (KMP-Algorithm).java │ ├── Search Pattern (Rabin-Karp Algorithm)/ │ │ └── Search Pattern (Rabin-Karp Algorithm).java │ ├── Sequence Fun/ │ │ └── Sequence Fun.java │ ├── Shortest Distance in a Binary Maze/ │ │ ├── README.md │ │ ├── Shortest Distance in a Binary Maze.cpp │ │ └── Shortest Distance in a Binary Maze.java │ ├── Shortest Path by Removing K walls/ │ │ └── Shortest Path by Removing K walls.java │ ├── Shortest Prime Path/ │ │ └── Shortest Prime Path.java │ ├── Shreyansh and his bits/ │ │ └── Shreyansh and his bits.java │ ├── Single valued subtree/ │ │ └── Single valued subtree.java │ ├── Sort an array of 0s, 1s and 2s/ │ │ ├── Sort an array of 0s, 1s and 2s.java │ │ └── Sort an array of 0s,1s and 2s s29.cpp │ ├── Spiral Matrix/ │ │ └── Spiral Matrix.cpp │ ├── Split Array Largest Sum/ │ │ └── Split Array Largest Sum.java │ ├── Stepping Numbers/ │ │ ├── README.md │ │ ├── Stepping Numbers.cpp │ │ └── Stepping Numbers.java │ ├── Substrings of length k with k-1 distinct elements/ │ │ ├── README.md │ │ ├── Substrings of length k with k-1 distinct elements.cpp │ │ └── Substrings of length k with k-1 distinct elements.java │ ├── Sum of Beauty of All Substrings/ │ │ └── Sum of Beauty of All Substrings.java │ ├── The Smurfs/ │ │ ├── The Smurfs.cpp │ │ └── The Smurfs.java │ ├── Tom and jerry/ │ │ ├── Tom and Jerry easy s26.cpp │ │ ├── Tom and Jerry.java │ │ └── Tom and Jerry.py │ ├── Transform to Sum Tree/ │ │ └── Transform to Sum Tree.java │ ├── Two numbers with odd occurrences/ │ │ ├── README.md │ │ ├── Two numbers with odd occurrences.cpp │ │ └── Two numbers with odd occurrences.java │ ├── Unique partitions/ │ │ └── Unique partitions.java │ ├── Wine Buying and Selling/ │ │ └── Wine Buying and Selling.java │ ├── Zero Sum Subarrays/ │ │ └── Zero Sum Subarrays.java │ └── k-th smallest element in BST/ │ └── k-th smallest element in BST.java ├── GFG_Find_all_distinct_subset_(or subsequence ├── Game with nos ├── Game with nos.java ├── Gas Station.java ├── Geek and Number String s23 med.cpp ├── Geek and Number String.cpp ├── Geek and Number String.java ├── Geek and knots.java ├── Generate IP Addresses.cpp ├── Generate IP Addresses.java ├── Generate IP Addresses.py ├── Generate all Parentheses II.java ├── Get min at pop.java ├── Greater of Lesser.java ├── Greater than All.java ├── Hamiltonian Path - GFG/ │ ├── README.md │ └── hamiltonian-path.java ├── Height Using Parent Array.java ├── Highest Product.java ├── Highest Score.java ├── Hit most Balloons.java ├── INVERSIONS.java ├── IPL 2021 - Match Day 2 by AMAN SAINI ├── IPL 2021 - Match Day 2.cpp ├── IPL 2021 - Match Day 2.java ├── IPL 2021 - Match Day 2.py ├── Identical Binary Trees.java ├── Immediate Smaller Element.java ├── Immediate Smaller Element.js ├── Immediate Smaller Element.py ├── Implement Power Function(IB) ├── Implement StrStr.java ├── Implementing Dijkstra Algorithm.java ├── Inorder Traversal of Cartesian Tree.java ├── Inorder linear Traversal.java ├── Insert into a Binary Search Tree ├── Insertion Sort List.java ├── Insertion Sort for Singly Linked List.java ├── Integer To Roman.java ├── Integers in Strings.java ├── Intersection Of Sorted Arrays.java ├── Intersection of Linked Lists.java ├── Interviewbit/ │ ├── Colorful Number/ │ │ ├── Colorful Number.java │ │ └── Colorful Number.py │ ├── Copy List/ │ │ └── Copy List.java │ └── Valid Sudoku/ │ ├── Valid Sudoku.cpp │ └── Valid Sudoku.java ├── Invert the Binary Tree.java ├── Is Subsequence.java ├── IsRectangle.java ├── Jump Game Array.java ├── Jump Game IV ├── K Largest Elements.java ├── K-diff Pairs in an Array.java ├── Kill Captain America - GFG/ │ ├── README.md │ └── kill-captain-america.java ├── Killing Spree - GFG/ │ ├── README.md │ └── killing-spree.java ├── Koko Eating Bananas.java ├── Kth Permutation Sequence.java ├── Kth Row of Pascal's Triangle.java ├── Kth Smallest Absolute Difference.java ├── Kth Smallest Element In Tree.java ├── Kth smallest element.cpp ├── LC 1000. Minimum Cost to Merge Stones.cpp ├── LCP - GFG/ │ ├── README.md │ └── lcp.java ├── LICENSE ├── Largest BST - GFG/ │ ├── README.md │ └── largest-bst.java ├── Largest Number.java ├── Largest Permutation.java ├── Largest Rectangle in Histogram.java ├── Largest number with given sum - GFG/ │ ├── README.md │ └── largest-number-with-given-sum.java ├── Largest prime factor.cpp ├── Largest value in each level.java ├── Last Node in a Complete Binary Tree.java ├── Last digit K count.java ├── Leaders in an array.java ├── Leaves to DLL.java ├── Leetcode/ │ ├── 104 maximum depth of binary tree/ │ │ ├── 104 maximum depth of binary tree.cpp │ │ ├── 104. Maximum Depth of Binary Tree.java │ │ └── README.md │ ├── 112 Path Sum/ │ │ ├── 112 Path Sum oc4.cpp │ │ └── Path Sum.java │ ├── 1155. Number of Dice Rolls With Target Sum/ │ │ ├── 1155 Number of Dice Rolls With Target Sum.cpp │ │ ├── 1155. Number of Dice Rolls With Target Sum.java │ │ └── 1155. Number of Dice Rolls With Target Sum.py │ ├── 1217. Minimum Cost to Move Chips to The Same Position/ │ │ ├── 1217. Minimum Cost to Move Chips to The Same Position.java │ │ ├── Notes.md │ │ └── README.md │ ├── 1252. Cells with Odd Values in a Matrix/ │ │ ├── 1252. Cells with Odd Values in a Matrix.java │ │ ├── Notes.md │ │ └── README.md │ ├── 1304.Find N Unique Integers Sum up to Zero/ │ │ ├── 1304.Find N Unique Integers Sum up to Zero.java │ │ ├── Notes.md │ │ └── README.md │ ├── 15. 3Sum/ │ │ ├── 3sum.java │ │ └── README.md │ ├── 151.Reverse Words in a String/ │ │ └── Reverse Words in a String.java │ ├── 1531. String Compression II/ │ │ └── 1531. String Compression II.cpp │ ├── 1578 Minimum Time to Make Rope Colorful/ │ │ └── 1578 Minimum Time to Make Rope Colorful.cpp │ ├── 1578. Minimum Time to Make Rope Colorful/ │ │ └── 1578. Minimum Time to Make Rope Colorful.py │ ├── 1662. Check If Two String Arrays are Equivalent/ │ │ └── Check If Two String Arrays are Equivalent.java │ ├── 19 Remove Nth Node From End of List/ │ │ ├── 19 Remove Nth Node From End of List.cpp │ │ └── Remove Nth Node from End Of List.java │ ├── 1996. The Number of Weak Characters in the Game/ │ │ └── The Number of Weak Characters in the Game.cpp │ ├── 2095. Delete the Middle Node of a Linked List/ │ │ ├── 2095 Delete the Middle Node of a Linked List.java │ │ └── README.md │ ├── 2124. Check if All A's Appears Before All B's/ │ │ └── 2124. Check if All A's Appears Before All B's.java │ ├── 218 The Skyline Problem/ │ │ └── 218 The Skyline Problem s30.cpp │ ├── 221. Maximal Square/ │ │ └── 221. Maximal Square.java │ ├── 222. Count Complete Tree Nodes/ │ │ └── Count Complete Tree Nodes.java │ ├── 2368. Reachable Nodes With Restrictions/ │ │ └── Reachable Nodes With Restrictions.cpp │ ├── 237. Delete Node in a Linked List/ │ │ ├── Delete Node in a Linked List.cpp │ │ └── Delete Node in a Linked List.java │ ├── 2424. Longest Uploaded Prefix/ │ │ └── 2424. Longest Uploaded Prefix.java │ ├── 2427. Number of Common Factors/ │ │ └── 2427. Number of Common Factors.cpp │ ├── 2428. Maximum Sum of an Hour Glass/ │ │ └── 2428. Maximum Sum of an Hour Glass.cpp │ ├── 263. Ugly Number/ │ │ └── 263. Ugly Number.cpp │ ├── 279. Perfect Squares/ │ │ └── 279. Perfect Squares.cpp │ ├── 336. Palindrome Pairs/ │ │ ├── 336. Palindrome Pairs.java │ │ └── 336. Palindrome pairs.cpp │ ├── 4. Median of Two Sorted Arrays/ │ │ ├── 4. Median of Two Sorted Arrays.java │ │ └── Median of Two Sorted Arrays.cpp │ ├── 401 binary watch/ │ │ ├── 401-binary-watch.java │ │ ├── NOTES.md │ │ └── README.md │ ├── 437 Path Sum III/ │ │ └── pathSum.cpp │ ├── 450 Delete Node in a BST/ │ │ └── deleteNode.java │ ├── 4Sum II/ │ │ └── 4Sum II.java │ ├── 622 Design Circular Queue/ │ │ └── 622 Design Circular Queue med s25.cpp │ ├── 623 Add One Row To Tree/ │ │ ├── Add one row to tree.java │ │ └── ReadMe.md │ ├── 623 Add One Row to Tree/ │ │ └── 623 Add One Row to Tree.java │ ├── 658 Find K Closest Elements/ │ │ ├── 658 Find K Closest Elements s29.cpp │ │ └── Find k Closest Elements.java │ ├── 704 binary search/ │ │ ├── 704-Binary-Search.py │ │ ├── NOTES.md │ │ └── README.md │ ├── 72 Edit distance/ │ │ ├── minDistance.cpp │ │ └── minDistance.java │ ├── 75.Sort colors/ │ │ ├── 75.Sort-colors.java │ │ ├── Notes.md │ │ ├── README.md │ │ └── Sort colors.cpp │ ├── 766.Toeplitz Matrix/ │ │ └── Toeplitz Matrix.java │ ├── 79.Word Search/ │ │ ├── 79. Word Search.cpp │ │ ├── NOTES.md │ │ └── README.md │ ├── 838 Push Dominoes/ │ │ └── 838 Push Dominoes lc med s27.cpp │ ├── 91 Decode Ways/ │ │ └── 91 Decode Ways oc1.cpp │ ├── 92 Reverse Linked List II/ │ │ ├── Reverse Linked List II.cpp │ │ └── Reverse Linked List II.java │ ├── 990 Satisfiability of Equality Equations/ │ │ └── 990 Satisfiability of Equality Equations med s26.cpp │ ├── Break A Palindrome/ │ │ └── Break A Palindrome.java │ ├── K diff pairs/ │ │ └── K diff pairs.cpp │ ├── Merge Overlapping Intervals/ │ │ └── Merge Overlapping Intervals.cpp │ ├── Minimum time to Make Rope Colorful/ │ │ └── Minimum Time to Make Rope Colorful.cpp │ ├── Number of Dice rolls with target sum/ │ │ └── Number of dice rolls.cpp │ ├── Remove Letter To Equalize Frequency/ │ │ └── Remove Letter To Equalize Frequency.cpp │ ├── Sort Colors/ │ │ └── Sort Colors.cpp │ ├── Top K Frequent Words/ │ │ └── Top K Frequent Words.cpp │ └── Two Sum IV-Input is BST/ │ └── Two Sum IV-Input is a BST.java ├── Length of Last Word.java ├── Length of longest palindrome in Linked List.java ├── Length of longest palindrome in linked list.java ├── Letter Phone.java ├── Level Order.java ├── Levels Of Game.java ├── Licence Key Formatting.java ├── License Key Formatting GFG/ │ └── Licence.cpp ├── License Key Formatting med s21.cpp ├── License Key Formatting(explanation in comments).cpp ├── License Key Formatting.cpp ├── License Key Formatting.java ├── Linked List Cycle II.java ├── Linked List Cycle.java ├── Longest Bitonic subsequence.cpp ├── Longest Common Prefix.java ├── Longest Common Subsequence.java ├── Longest Palindrome by Concatenating Two Letter Words ├── Longest Palindromic Subsequence.java ├── Longest Palindromic Substring.java ├── Longest Path in a matrix - GFG/ │ ├── README.md │ └── longest-path-in-a-matrix.java ├── Longest Possible Route in a Matrix with Hurdles - GFG/ │ ├── README.md │ └── longest-possible-route-in-a-matrix-with-hurdles.java ├── Longest Sub-Array with Sum K.cpp ├── Longest Sub-Array with Sum K.java ├── Longest subarray with sum divisible by K - GFG/ │ ├── README.md │ └── longest-subarray-with-sum-divisible-by-k.java ├── Longest substring to form a Palindrome - GFG/ │ ├── README.md │ └── longest-substring-to-form-a-palindrome.java ├── Longest valid Parentheses.java ├── M-Coloring Problem.java ├── MInimum time to fulfil all orders.cpp ├── Magician and Chocolates.java ├── Magnet Array Problem - GFG/ │ ├── README.md │ └── magnet-array-problem.java ├── Majority Element.java ├── Make equal elements Array.java ├── Matrix Chain Multiplication.cpp ├── Matrix Exponentiation - GFG/ │ ├── README.md │ └── matrix-exponentiation.java ├── Matrix Operations.java ├── Matrix Search.java ├── Max Depth of Binary Tree.java ├── Max Distance.java ├── Max Non Negative SubArray.java ├── Max Product Subarray.java ├── Max Rectangle in Binary Matrix.java ├── Max Sum Path in Binary Tree.java ├── Max length chain.cpp ├── Max length chain.java ├── Maximize Distance to Closest Person ├── Maximize The Array - GFG/ │ ├── README.md │ └── maximize-the-array.java ├── Maximize the sum of selected numbers from an array to make it empty - GFG/ │ ├── README.md │ └── maximize-the-sum-of-selected-numbers-from-an-array-to-make-it-empty.java ├── Maximum Depth of Binary Tree.java ├── Maximum GCD of siblings of a binary tree - GFG/ │ ├── README.md │ └── maximum-gcd-of-siblings-of-a-binary-tree.java ├── Maximum Number of Words Found in Sentences.java ├── Maximum Path Sum between 2 Leaf Nodes.cpp ├── Maximum Path in Triangle.java ├── Maximum Product of Increasing Subsequence of Size 3 - GFG/ │ ├── README.md │ └── maximum-product-of-increasing-subsequence-of-size-3.java ├── Maximum Split of Positive Even Integers.py ├── Maximum Twin Sum of a Linked List.java ├── Maximum Width of Binary Tree.java ├── Maximum Winning score.java ├── Maximum XOR of Two Numbers in an Array.java ├── Maximum average subarray - GFG/ │ ├── README.md │ └── maximum-average-subarray.java ├── Maximum level sum.java ├── Maximum number of 2X2 squares.cpp ├── Maximum number of 2X2 squares.java ├── Maximum number of events that can be attended.java ├── Maximum selections - GFG/ │ ├── README.md │ └── maximum-selections.java ├── Maximum sum Rectangle - GFG/ │ ├── README.md │ └── maximum-sum-rectangle.java ├── Maximum sum leaf to root path.java ├── Maximum sum of Non-adjacent nodes.java ├── Maximum sum of increasing order elements from n arrays.java ├── Maximum twin sum of a linkedlist.cpp ├── Maximum-number-of-2X2-squares.cpp ├── Merge Intervals ├── Merge K sorted linked lists.java ├── Merge Nodes in Between Zeros.java ├── Merge Overlapping Intervals.java ├── Merge Two Sorted Array.py ├── Merge Two Sorted Lists ├── Merge Two Sorted Lists.java ├── Merge Without Extra Space.cpp ├── Merge k Sorted Lists.java ├── Merge new Interval.java ├── Merge two Binary Tree.java ├── Merge two binary Max heaps ├── Merge two sorted linked lists - GFG/ │ ├── README.md │ └── merge-two-sorted-linked-lists.java ├── Merging Details - GFG/ │ └── Merging Details.cpp ├── Merging Details _GFG.cpp ├── Merging Details.java ├── Min Coin - GFG/ │ ├── README.md │ └── min-coin.java ├── Min Depth of Binary Tree.java ├── Min Jumps Array.java ├── Min Stack.java ├── Min Steps in Infinite Grid.java ├── Min Sum Path in Matrix.java ├── Min Sum Path in Triangle.java ├── Min sum formed by digits - GFG/ │ ├── README.md │ └── min-sum-formed-by-digits.java ├── Minimize Deviation in Array.java ├── Minimum Add to Make Parentheses Valid/ │ └── Minimum-Add-to-Make-Parentheses-Valid.cpp ├── Minimum Cost to Set Cooking Time.java ├── Minimum Cost to cut a board into squares.cpp ├── Minimum Cost to cut a board into squares.java ├── Minimum Cost to cut a board into squares.py ├── Minimum Exchange GFG/ │ └── MinimumExchange.cpp ├── Minimum Exchange gfg easy sep12.cpp ├── Minimum Exchange.java ├── Minimum Lights to Activate.java ├── Minimum Number in a sorted rotated array - GFG/ │ ├── README.md │ ├── minimum-number-in-a-sorted-rotated-array.java │ └── minimum-number-in-a-sorted-rotated-array.py ├── Minimum Number of Arrows to Burst Balloons(Non Overlapping intervals) ├── Minimum Number of Vertices to Reach All Nodes.java ├── Minimum Operations to Make the Array Alternating.java ├── Minimum Parantheses!.java ├── Minimum Platforms.java ├── Minimum Remove to Make Valid Parentheses/ │ └── Minimum-Remove-to-Make-Valid-Parentheses.cpp ├── Minimum Remove to Make Valid Parentheses.java ├── Minimum Sum of Absolute Differences of Pairs gfg easy.cpp ├── Minimum Sum of Absolute Differences of Pairs.java ├── Minimum Sum of Absolute Differences of Pairs.py ├── Minimum Sum of Four Digit Number After Splitting Digits.java ├── Minimum Swaps GFG (easy solution with comments).cpp ├── Minimum Swaps to Group All 1's Together II.cpp ├── Minimum Swaps to Sort.java ├── Minimum Swaps.java ├── Minimum Time To Fulfill All Orders Using BinarySearch And ApSeries Formula.java ├── Minimum Time to Remove All Cars Containing Illegal Goods.java ├── Minimum X (xor) A - GFG/ │ ├── README.md │ └── minimum-x-xor-a.java ├── Minimum increment/ │ └── decrement to make array non-Increasing - GFG/ │ ├── README.md │ └── minimum-incrementdecrement-to-make-array-non-increasing.java ├── Minimum sum of absolute difference of pairs.cpp ├── Minimum time to fulfil all orders ├── Minimum time to fulfil all orders gfg hard.cpp ├── Minimum time to fulfil all orders.java ├── Minimum time to fulfill all orders.java ├── Minimum times A has to be repeated such that B is a substring of it - GFG/ │ ├── README.md │ └── minimum-times-a-has-to-be-repeated-such-that-b-is-a-substring-of-it.py ├── Minimum-Exchange/ │ ├── Solution.java │ └── question.md ├── Minimum-swaps.cpp ├── Minimum_Cost_to_cut_a_board_into_squares_gfg_greedy.cpp ├── Mirror Reflection.java LeetCode ├── Move Last Element to Front of a Linked List - GFG/ │ ├── README.md │ └── move-last-element-to-front-of-a-linked-list.java ├── Move Zeroes.java ├── Move all zeroes to end of the array.java ├── Move all zeros to the front of the linked list - GFG/ │ ├── README.md │ └── move-all-zeros-to-the-front-of-the-linked-list.java ├── Moving on grid - GFG/ │ ├── README.md │ └── moving-on-grid.java ├── Multiple left rotations of the array.java ├── N Digit numbers with digits in increasing order ├── N by 3 Repeating Number ├── N-th_Tribonacci_Number_leetcode1137.cpp ├── Nearest Smaller Element.java ├── Nearly sorted - GFG/ │ ├── README.md │ └── nearly-sorted.java ├── Negative weight cycle - GFG/ │ ├── README.md │ └── negative-weight-cycle.java ├── Next Permutation ├── Next Pointer Binary Tree.java ├── Next Right Node.cpp ├── Next Right Node.java ├── Next element with greater frequency - GFG/ │ ├── README.md │ └── next-element-with-greater-frequency.java ├── Noble Integer.java ├── Node with highest edge score.cpp ├── Nodes at even distance - GFG/ │ ├── README.md │ └── nodes-at-even-distance.java ├── Nth item through sum - GFG/ │ ├── README.md │ └── nth-item-through-sum.py ├── Number Formation - GFG/ │ ├── README.md │ └── number-formation.java ├── Number of 1 Bits.java ├── Number of Provinces.java ├── Number of Sundays.java ├── Number of Ways to Arrive at Destination gfg med sep16.cpp ├── Number of Ways to Arrive at Destination.cpp ├── Number of Ways to Arrive at Destination.java ├── Number of distict Words with k maximum contiguous vowels.java ├── Number of distinct Words with k maximum contiguous vowels - GFG/ │ ├── README.md │ └── number-of-distinct-words-with-k-maximum-contiguous-vowels.java ├── Number of positive integral solutions - GFG/ │ ├── README.md │ └── number-of-positive-integral-solutions.py ├── Number of ways - GFG/ │ ├── README.md │ └── number-of-ways.java ├── Number-of-ways-to-arrive-destination/ │ ├── Solution.cpp │ └── question.md ├── Numbers-With-Same-Consecutive-Differences.cpp ├── Occurence of Each Number.java ├── Odd Even Rule.java ├── POTD_gfg_The_Bit_Game .py ├── Pair With Given Difference.java ├── Pairs With Given Xor.java ├── Pairs of Non Coinciding Points - GFG/ │ ├── README.md │ └── pairs-of-non-coinciding-points.java ├── Palindrome List.java ├── Palindrome Numbers.java ├── Palindrome Partitioning II.java ├── Palindrome Partitioning.java ├── Palindromic Substrings.java ├── Palindromic Time.java ├── Palindromic Words.java ├── Partition Array According to Given Pivot.java ├── Partition Labels .cpp ├── Partition List.java ├── Partition a Linked List around a given value - GFG/ │ ├── README.md │ └── partition-a-linked-list-around-a-given-value.java ├── Partition a number into two divisible parts - GFG/ │ ├── README.md │ └── partition-a-number-into-two-divisible-parts.java ├── Partition array to K subsets - GFG/ │ ├── README.md │ ├── partition-array-to-k-subsets.java │ └── partition-array-to-k-subsets.py ├── Partition array to K subsets.java ├── Party in Town - GFG/ │ ├── README.md │ └── party-in-town.java ├── Pascal's Triangle.java ├── Path in Directed Graph.java ├── Path in Matrix.java ├── Path to Given Node.java ├── Path with good nodes!.java ├── Perfect Peak of Array.java ├── Permutation in String.java ├── Permutation with Spaces - GFG/ │ ├── README.md │ └── permutation-with-spaces.java ├── Permutations.java ├── Polynomial Addition - GFG/ │ ├── README.md │ └── polynomial-addition.java ├── Positive Negative Pair ├── Postorder Traversal (Iterative).java ├── Postorder Traversal.py ├── Pots of Gold Game.java ├── Power Of 2 and Subsequences GFG/ │ └── powerOf2Sub.cpp ├── Power Of 2 and Subsequences.cpp ├── Power Of 2 and Subsequences.java ├── Power Of 2 and Subsequences.py ├── Power of 2 and Subsequences.cpp ├── Power of 2 and Subsequences.java ├── Power-of-2-&-Subsequences/ │ ├── Solution.cpp │ └── question.md ├── Preorder Traversal.java ├── Preorder to BST.java ├── Previous number in one swap - GFG/ │ ├── README.md │ └── previous-number-in-one-swap.py ├── Prim's_Algorithm.cpp ├── Prime Sum.java ├── Print Diagonally - GFG/ │ ├── README.md │ └── print-diagonally.java ├── Print Pattern using String.java ├── Print the pattern gfg sep_4.cpp ├── Print the pattern.java ├── Probability of Knight - GFG/ │ ├── README.md │ └── probability-of-knight.java ├── Product of Digits.java ├── Product of Primes - GFG/ │ ├── README.md │ └── product-of-primes.java ├── Profit Maximisation.java ├── Pythagorean Triplets.java ├── Queries on Strings - GFG/ │ ├── README.md │ └── queries-on-strings.java ├── Queries on a Matrix.java ├── Queue using two Stacks.java ├── QuickSort on Doubly Linked List.java ├── README.md ├── Rank The Permutations - GFG/ │ ├── README.md │ └── rank-the-permutations.java ├── Rat Maze With Multiple Jumps - GFG/ │ ├── README.md │ └── rat-maze-with-multiple-jumps.java ├── Reaching the heights - GFG/ │ ├── README.md │ └── reaching-the-heights.java ├── Rearrange Geek and his Classmates.java ├── Recursively remove all adjacent duplicates - GFG/ │ ├── README.md │ └── recursively-remove-all-adjacent-duplicates.java ├── Redundant Braces.java ├── Region in BinaryMatrix.java ├── Remove Consecutive Characters.java ├── Remove Covered Intervals.java ├── Remove Duplicates from Sorted Array II.java ├── Remove Duplicates from Sorted List II.java ├── Remove Duplicates from Sorted List.java ├── Remove Half Nodes.java ├── Remove K Digits.java ├── Remove Nth Node from List End.java ├── Remove leading zeros from an IP address.java ├── Repeat and Missing Number Array.java ├── Repeated Character.java ├── Replace every element with the least greater element on its right - GFG/ │ ├── README.md │ └── replace-every-element-with-the-least-greater-element-on-its-right.java ├── Return two prime numbers.java ├── Reverse Bits.java ├── Reverse First K elements of Queue ├── Reverse Level Order.java ├── Reverse Spiral Form of Matrix - GFG/ │ ├── README.md │ └── reverse-spiral-form-of-matrix.java ├── Reverse a Stack using Recursion.cpp ├── Reverse a string using Stack.java ├── Reverse a sublist of a linked list - GFG/ │ ├── README.md │ └── reverse-a-sublist-of-a-linked-list.java ├── Reverse array in groups(GFG)) ├── Reverse the String.cpp ├── Reverse the String.java ├── Reverse-Interger.java ├── Richest Customer Wealth.java ├── RightView in a Binary Tree ├── Robot Bounded In Circle ├── Robots.java ├── Roman To Integer.java ├── Root to Leaf Paths With Sum.java ├── Rotate Image.cpp ├── Rotate List.java ├── Rotate Matrix.java ├── Salutes.java ├── Save Your Life - GFG/ │ ├── README.md │ └── save-your-life.java ├── Score of Parentheses.java ├── Search for a Range.java ├── Search in Bitonic Array!.java ├── Search insert position of K in a sorted array - GFG/ │ ├── README.md │ └── search-insert-position-of-k-in-a-sorted-array.java ├── Searching all indices for matching substring.py ├── Segregate 0s and 1s in an array.java ├── Self Permutation.java ├── Sequential Digits.java ├── Serialize.java ├── Shop in Candy Store - GFG/ │ ├── README.md │ └── shop-in-candy-store.java ├── Shortest Distance in a Binary Maze - GFG/ │ ├── README.md │ └── shortest-distance-in-a-binary-maze.java ├── Shortest Path Visiting All Nodes.java ├── Shortest Path between Cities - GFG/ │ ├── README.md │ └── shortest-path-between-cities.java ├── Shortest Uncommon Subsequence - GFG/ │ ├── README.md │ ├── shortest-uncommon-subsequence.cpp │ └── shortest-uncommon-subsequence.java ├── Shortest Unique prefix for every word.java ├── Shortest_distance_in_Directed_acyclic_graph.cpp ├── Simplify Path.java ├── Single Element in Sorted Array.py ├── Single Number II.java ├── Single Number.java ├── Sliding Window Maximum.java ├── Smaller on Left - GFG/ │ ├── README.md │ └── smaller-on-left.java ├── Smallest Subset With Greater Sum.Java ├── Smallest Subset With Greater Sum.java ├── Smallest Subset with Greater Sum GFG/ │ └── SmallestSubsetWithGreterSum.cpp ├── Smallest Subset with Greater Sum gfg s15.cpp ├── Smallest Subset with Greater Sum.Cpp ├── Smallest Subset with Greater Sum.java ├── Smallest Subset with Max Sum.py ├── Smallest Value of the Rearranged Number.java ├── Smallest distinct window - GFG/ │ └── README.md ├── Smallest factorial number - GFG/ │ ├── README.md │ └── smallest-factorial-number.java ├── Smallest greater elements in whole array - GFG/ │ ├── README.md │ └── smallest-greater-elements-in-whole-array.java ├── Smallest number on left gfg med.cpp ├── Smallest number on left.cpp ├── Smallest number on left.java ├── Smallest number with sum of digits as N and divisible by 10^N.cpp ├── Smallest number with sum of digits as N and divisible by 10^N.java ├── Smallest number with sum of digits as N and divisible by 10^N.py ├── Smallest number with sum of digits as N and divisible by 10powerN.cpp ├── Smallest sum contiguous subarray.cpp ├── Smallest sum contiguous subarray.java ├── Smallest sum contiguous subarray.py ├── Smallest window containing 0, 1 and 2.java ├── SmallestNumberWithSumOfDigitsAsNAndDivisbileBy10ToThePowerN.java ├── Solve-the-Sudoku - GFG/ │ └── Solve-the-Sudoku.java ├── Sort Binary Linked List.java ├── Sort Even and Odd Indices Independently.java ├── Sort List.java ├── Sort by Set Bit Count.java ├── Sorted Array To Balanced BST.java ├── Sorted Insert Position.java ├── Sorted Link List to BST - GFG/ │ └── README.md ├── Special Matrix.java ├── Spidey Sense.java ├── Spiral Matrix.java ├── Spiral Order Matrix II.java ├── Split_Array_Into_Consecutive_subsequence.java ├── Square Root of Integer.java ├── Stack Permutation med gfg sep7.cpp ├── Stack Permutations [GFG POTD(07-09-22)].java ├── Stack Permutations.java ├── Stack Permutations.py ├── Step by Step.java ├── Stepping Numbers - GFG/ │ ├── README.md │ └── stepping-numbers.java ├── Steps by Knight ├── Stock buy and sell - GFG/ │ └── Stock buy and sell.cpp ├── Stone Game IV.java ├── String And Its Frequency.java ├── String formation from substring - GFG/ │ ├── README.md │ └── string-formation-from-substring.java ├── String to Integer (atoi).java ├── Subarray Sum Equals K.java ├── Subarray with equal occurences!.java ├── Subarray with given sum - GFG/ │ └── Subarray with given sum.cpp ├── Subset.java ├── Subsets II.java ├── Subsets with XOR value - GFG/ │ ├── README.md │ └── subsets-with-xor-value.java ├── Subsets.java ├── Sum Of k smallest elements in BST.java ├── Sum Root to Leaf Numbers.java ├── Sum of 7's Multiple.java ├── Sum of K smallest elements in BST.cpp ├── Sum of Root To Leaf Binary Numbers.java ├── Sum of elements between k1'th and k2'th smallest elements - GFG/ │ ├── README.md │ └── sum-of-elements-between-k1th-and-k2th-smallest-elements.java ├── Sum of k smallest elements in BST.cpp ├── Sum of k smallest elements in BST.java ├── Sum of nodes within k distance from target - GFG/ │ ├── README.md │ └── sum-of-nodes-within-k-distance-from-target.java ├── Sum of two large numbers.cpp ├── Sum of two large numbers.java ├── Sum of two numbers without using arithmetic operators - GFG/ │ ├── README.md │ └── sum-of-two-numbers-without-using-arithmetic-operators.java ├── Summary Ranges.java ├── Super Primes - GFG/ │ ├── README.md │ └── super-primes.java ├── Swap Bits.java ├── Swap Kth nodes from ends - GFG/ │ ├── README.md │ └── swap-kth-nodes-from-ends.java ├── Swap Nodes in Pairs.java ├── Swap bits - GFG/ │ ├── README.md │ └── swap-bits.java ├── Symmetric Binary Tree.java ├── The Bit Game easy s24.cpp ├── The bit Game.cpp ├── Theft at World Bank - GFG/ │ ├── README.md │ └── theft-at-world-bank.java ├── Topo_sort.cpp ├── Total Moves For Bishop!.java ├── Towers_CSES.cpp ├── Trailing Zeroes.java ├── Transfiguration.java ├── Transform String - GFG/ │ └── README.md ├── Tree Path Sum.java ├── Triangle and Square - GFG/ │ ├── README.md │ └── triangle-and-square.java ├── Tricky Subset Problem - GFG/ │ ├── README.md │ └── tricky-subset-problem.java ├── Two Sum.java ├── Two Sum.py ├── UTF-8-Validation med lc.cpp ├── Union-Find - GFG/ │ ├── README.md │ └── union-find.java ├── Unique Subsets - GFG/ │ ├── README.md │ └── unique-subsets.java ├── Unit Area of largest region of 1's.cpp ├── Unit Area of largest region of 1's.java ├── Valid Binary Search Tree.java ├── Valid Mountain Array.java ├── Valid Parentheses.java ├── Valid Password.java ├── Validate Stack Sequences.java ├── Verify Prime.java ├── Vertical Sum of a Binary Tree.java ├── Villain Con - GFG/ │ ├── README.md │ └── villain-con.java ├── Vowel and Consonant Substrings!.java ├── Wave Array.java ├── Ways to Decode.java ├── Window String.java ├── Word Break - Part 2 - GFG/ │ ├── README.md │ └── word-break-part-2.java ├── Word Break II.cpp ├── Word Break II.java ├── Word Break.java ├── Word Count.py ├── Word Ladder I.cpp ├── Word Ladder II.py ├── Word Ladder.java ├── Word Pattern.java ├── Word Wrap - GFG/ │ ├── README.md │ └── word-wrap.java ├── X Total Shapes.java ├── XOR Game.java ├── XOR-ing the Subarrays!.java ├── ZigZag Level Order Traversal BT.java ├── Zigzag String.java ├── alternate positive and negative.cpp ├── check if array is sorted and rotated/ │ └── check-if-array-is-rotated-and-sorted.cpp ├── depth first search.cpp ├── rotate-array/ │ └── rotate-array.cpp ├── sorting-characters-by-frequency/ │ └── sorting-characters-by-frequency.cpp ├── split array into consecutive subsequences/ │ └── split-array-into-consecutive-subsequences.cpp ├── string-to-integer(atoi)/ │ └── string-to-integer(atoi).cpp ├── sum of k smallest elements in BST.cpp └── valid parenthesis.java ================================================ FILE CONTENTS ================================================ ================================================ FILE: .github/ISSUE_TEMPLATE/custom.md ================================================ --- name: Custom issue template about: Describe this issue template's purpose here. title: '' labels: '' assignees: '' --- ================================================ FILE: .github/pull_request_template.md ================================================ **Please fill the details before contributing.** # ⚠️Important!! - [ ] Done reading [CONTRIBUTING.md](https://github.com/Sagar0-0/DsA/blob/main/CONTRIBUTING.md)? # Adding Code PRs?🔥 ⚠️Do not add multiple files for the same solution!!! - [ ] Added problem statement(Readme.md) with solution? - [ ] Contributing new file? - [ ] Appending your code in already existing file? ### From Platform: - [ ] Leetcode - [ ] GFG - [ ] Interviewbit - [ ] Others(only acceptable after DISCUSSIONS) # Migration PRs?🤝 - [ ] Done deleteing file from home directory? - [ ] Added file with correct name and correct directory? ================================================ FILE: 0012-integer-to-roman/0012-integer-to-roman.java ================================================ class Solution { public String intToRoman(int num) { int[] val = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 }; String[] code = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" }; StringBuilder sb = new StringBuilder(); while (num > 0) { for (int i = 0; i < 13; i++) { if (num >= val[i]) { num -= val[i]; sb.append(code[i]); break; } } } return sb.toString(); } } ================================================ FILE: 0012-integer-to-roman/0012-integer-to-roman.py ================================================ class Solution: def intToRoman(self, num: int) -> str: d = {1000: 'M', 900: 'CM', 500: 'D', 400: 'CD', 100: 'C', 90: 'XC', 50: 'L', 40: 'XL', 10: 'X', 9: 'IX', 5: 'V', 4: 'IV', 1: 'I'} res = '' for k in d: while num >= k: res += d[k] num -= k return res ================================================ FILE: 0012-integer-to-roman/NOTES.md ================================================ ================================================ FILE: 0012-integer-to-roman/README.md ================================================
Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M.
Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000
For example, 2 is written as II in Roman numeral, just two one's added together. 12 is written as XII, which is simply X + II. The number 27 is written as XXVII, which is XX + V + II.
Roman numerals are usually written largest to smallest from left to right. However, the numeral for four is not IIII. Instead, the number four is written as IV. Because the one is before the five we subtract it making four. The same principle applies to the number nine, which is written as IX. There are six instances where subtraction is used:
I can be placed before V (5) and X (10) to make 4 and 9. X can be placed before L (50) and C (100) to make 40 and 90. C can be placed before D (500) and M (1000) to make 400 and 900.Given an integer, convert it to a roman numeral.
Example 1:
Input: num = 3 Output: "III" Explanation: 3 is represented as 3 ones.
Example 2:
Input: num = 58 Output: "LVIII" Explanation: L = 50, V = 5, III = 3.
Example 3:
Input: num = 1994 Output: "MCMXCIV" Explanation: M = 1000, CM = 900, XC = 90 and IV = 4.
Constraints:
1 <= num <= 3999Given an integer array nums sorted in non-decreasing order, remove the duplicates in-place such that each unique element appears only once. The relative order of the elements should be kept the same.
Since it is impossible to change the length of the array in some languages, you must instead have the result be placed in the first part of the array nums. More formally, if there are k elements after removing the duplicates, then the first k elements of nums should hold the final result. It does not matter what you leave beyond the first k elements.
Return k after placing the final result in the first k slots of nums.
Do not allocate extra space for another array. You must do this by modifying the input array in-place with O(1) extra memory.
Custom Judge:
The judge will test your solution with the following code:
int[] nums = [...]; // Input array
int[] expectedNums = [...]; // The expected answer with correct length
int k = removeDuplicates(nums); // Calls your implementation
assert k == expectedNums.length;
for (int i = 0; i < k; i++) {
assert nums[i] == expectedNums[i];
}
If all assertions pass, then your solution will be accepted.
Example 1:
Input: nums = [1,1,2] Output: 2, nums = [1,2,_] Explanation: Your function should return k = 2, with the first two elements of nums being 1 and 2 respectively. It does not matter what you leave beyond the returned k (hence they are underscores).
Example 2:
Input: nums = [0,0,1,1,1,2,2,3,3,4] Output: 5, nums = [0,1,2,3,4,_,_,_,_,_] Explanation: Your function should return k = 5, with the first five elements of nums being 0, 1, 2, 3, and 4 respectively. It does not matter what you leave beyond the returned k (hence they are underscores).
Constraints:
1 <= nums.length <= 3 * 104-100 <= nums[i] <= 100nums is sorted in non-decreasing order.Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:
1-9 without repetition.1-9 without repetition.3 x 3 sub-boxes of the grid must contain the digits 1-9 without repetition.Note:
Example 1:
Input: board = [["5","3",".",".","7",".",".",".","."] ,["6",".",".","1","9","5",".",".","."] ,[".","9","8",".",".",".",".","6","."] ,["8",".",".",".","6",".",".",".","3"] ,["4",".",".","8",".","3",".",".","1"] ,["7",".",".",".","2",".",".",".","6"] ,[".","6",".",".",".",".","2","8","."] ,[".",".",".","4","1","9",".",".","5"] ,[".",".",".",".","8",".",".","7","9"]] Output: true
Example 2:
Input: board = [["8","3",".",".","7",".",".",".","."] ,["6",".",".","1","9","5",".",".","."] ,[".","9","8",".",".",".",".","6","."] ,["8",".",".",".","6",".",".",".","3"] ,["4",".",".","8",".","3",".",".","1"] ,["7",".",".",".","2",".",".",".","6"] ,[".","6",".",".",".",".","2","8","."] ,[".",".",".","4","1","9",".",".","5"] ,[".",".",".",".","8",".",".","7","9"]] Output: false Explanation: Same as Example 1, except with the 5 in the top left corner being modified to 8. Since there are two 8's in the top left 3x3 sub-box, it is invalid.
Constraints:
board.length == 9board[i].length == 9board[i][j] is a digit 1-9 or '.'.Write a program to solve a Sudoku puzzle by filling the empty cells.
A sudoku solution must satisfy all of the following rules:
1-9 must occur exactly once in each row.1-9 must occur exactly once in each column.1-9 must occur exactly once in each of the 9 3x3 sub-boxes of the grid.The '.' character indicates empty cells.
Example 1:
Input: board = [["5","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."],[".","9","8",".",".",".",".","6","."],["8",".",".",".","6",".",".",".","3"],["4",".",".","8",".","3",".",".","1"],["7",".",".",".","2",".",".",".","6"],[".","6",".",".",".",".","2","8","."],[".",".",".","4","1","9",".",".","5"],[".",".",".",".","8",".",".","7","9"]] Output: [["5","3","4","6","7","8","9","1","2"],["6","7","2","1","9","5","3","4","8"],["1","9","8","3","4","2","5","6","7"],["8","5","9","7","6","1","4","2","3"],["4","2","6","8","5","3","7","9","1"],["7","1","3","9","2","4","8","5","6"],["9","6","1","5","3","7","2","8","4"],["2","8","7","4","1","9","6","3","5"],["3","4","5","2","8","6","1","7","9"]] Explanation: The input board is shown above and the only valid solution is shown below:![]()
Constraints:
board.length == 9board[i].length == 9board[i][j] is a digit or '.'.The count-and-say sequence is a sequence of digit strings defined by the recursive formula:
countAndSay(1) = "1"countAndSay(n) is the way you would "say" the digit string from countAndSay(n-1), which is then converted into a different digit string.To determine how you "say" a digit string, split it into the minimal number of substrings such that each substring contains exactly one unique digit. Then for each substring, say the number of digits, then say the digit. Finally, concatenate every said digit.
For example, the saying and conversion for digit string "3322251":
Given a positive integer n, return the nth term of the count-and-say sequence.
Example 1:
Input: n = 1 Output: "1" Explanation: This is the base case.
Example 2:
Input: n = 4 Output: "1211" Explanation: countAndSay(1) = "1" countAndSay(2) = say "1" = one 1 = "11" countAndSay(3) = say "11" = two 1's = "21" countAndSay(4) = say "21" = one 2 + one 1 = "12" + "11" = "1211"
Constraints:
1 <= n <= 30