Skip to content

01mayankk/Leetcode-solutions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,086 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeetCode Solutions

A repository of my daily programming practice tackling LeetCode problems in C++
— by Mayank Kumar (01mayankk)


📘 About

This repository contains my solutions to problems from LeetCode.
Each directory is named according to the problem number and title (e.g., 0001-two-sum, 0014-longest-common-prefix, etc.).
All code is written in C++ and submitted regularly as part of my daily coding routine.


🎯 Purpose & Goals

  • Track progress: Maintain a structured log of solved problems with increasing difficulty.
  • Showcase skills: Demonstrate proficiency in algorithms, data structures, and problem-solving (valuable for interviews).
  • Build habit: Practice consistently and cover a broad range of problem types (arrays, strings, graphs, trees, DP, etc.).
  • Provide reference: Use my solutions as a personal study tool and potentially assist peers who are learning.

📂 Repository Structure

Leetcode-solutions/
├── 0001-two-sum/
│ ├── two_sum.cpp
│ └── README.md ← optional notes for that problem
├── 0003-longest-substring-without-repeating-characters/
│ ├── solution.cpp
│ └── ...
├── 0014-longest-common-prefix/
│ ├── longest_common_prefix.cpp
│ └── ...
├── …
└── README.md ← this file
  • Folder naming convention: XXXX-problem-title where XXXX is the zero-padded LeetCode problem number.
  • Files inside: Each solution folder contains C++ source code (.cpp) and optionally notes or comments in a README.md.

🚀 How to Use

  1. Browse by number: Navigate folders by problem number to find the solution you’re interested in.
  2. View code: Open the .cpp file to review approach, logic, and comments.
  3. Run locally: Copy the code to your environment (Visual Studio, CLion, g++, etc.) and test with custom input or test cases.
  4. Study & compare: Use as a reference – compare your own implementation, learn new patterns, and improve.

💡 Highlights

  • Solutions span from easy to hard problems, covering a wide array of themes (sliding window, hash tables, recursion, graphs, dynamic programming).
  • Each problem is solved in C++, showcasing handle over language features (STL, pointers, smart memory, high-performance code).
  • A consistent naming pattern and organized folder structure make it easy to navigate and scale.

📝 Notes & Tips

  • Although I include comments in my code, I encourage you to add your own comments or experiment further (e.g., alternative algorithms, time/space optimizations).
  • Use this as study material, not as a substitute for solving the problems yourself — the real learning happens when you attempt the problem first.
  • Feel free to fork or clone the repository if you’d like to explore the solutions — and consider adding your own improvements or variants.

👥 Contributions & Feedback

  • This repo is primarily for my personal study, but if you spot errors, would like to discuss a solution, or want to suggest improvements, feel free to reach out via GitHub.
  • If you’d like to submit enhancements (e.g., additional comments, alternative solutions), you are welcome to fork the repo and submit a pull request.

✅ License

This project is open-source for educational purposes. Feel free to use it as a reference and learning tool.


“Code is best understood when you re-type it, debug it, and write it yourself.”
Keeps solving, keep growing.
— Mayank Kumar

LeetCode Topics

Array

Problem Name Difficulty
0015-3sum Medium
0026-remove-duplicates-from-sorted-array Easy
0027-remove-element Easy
0031-next-permutation Medium
0048-rotate-image Medium
0053-maximum-subarray Medium
0055-jump-game Medium
0080-remove-duplicates-from-sorted-array-ii Medium
0088-merge-sorted-array Easy
0121-best-time-to-buy-and-sell-stock Easy
0122-best-time-to-buy-and-sell-stock-ii Medium
0167-two-sum-ii-input-array-is-sorted Medium
0169-majority-element Easy
0189-rotate-array Medium
0239-sliding-window-maximum Hard
0396-rotate-function Medium
0874-walking-robot-simulation Medium
1391-check-if-there-is-a-valid-path-in-a-grid Medium
1536-minimum-swaps-to-arrange-a-binary-grid Medium
1559-detect-cycles-in-2d-grid Medium
1582-special-positions-in-a-binary-matrix Easy
1594-maximum-non-negative-product-in-a-matrix Medium
1722-minimize-hamming-distance-after-swap-operations Medium
1727-largest-submatrix-with-rearrangements Medium
1848-minimum-distance-to-the-target-element Easy
1855-maximum-distance-between-a-pair-of-values Medium
1861-rotating-the-box Medium
1878-get-biggest-three-rhombus-sums-in-a-grid Medium
1886-determine-whether-matrix-can-be-obtained-by-rotation Easy
1914-cyclically-rotating-a-grid Medium
1980-find-unique-binary-string Medium
2033-minimum-operations-to-make-a-uni-value-grid Medium
2078-two-furthest-houses-with-different-colors Easy
2149-rearrange-array-elements-by-sign Medium
2452-words-within-two-edits-of-dictionary Medium
2463-minimum-total-distance-traveled Hard
2515-shortest-distance-to-target-string-in-a-circular-array Easy
2553-separate-the-digits-in-an-array Easy
2573-find-the-string-with-lcp Hard
2615-sum-of-distances Medium
2751-robot-collisions Hard
2770-maximum-number-of-jumps-to-reach-the-last-index Medium
2906-construct-product-matrix Medium
2946-matrix-similarity-after-cyclic-shifts Easy
3070-count-submatrices-with-top-left-element-and-sum-less-than-k Medium
3212-count-submatrices-with-equal-frequency-of-x-and-y Medium
3225-maximum-score-from-grid-operations Hard
3296-minimum-number-of-seconds-to-make-mountain-height-zero Medium
3418-maximum-amount-of-money-robot-can-earn Medium
3464-maximize-the-distance-between-points-on-a-square Hard
3488-closest-equal-element-queries Medium
3546-equal-sum-grid-partition-i Medium
3548-equal-sum-grid-partition-ii Hard
3567-minimum-absolute-difference-in-sliding-submatrix Medium
3629-minimum-jumps-to-reach-end-via-prime-teleportation Medium
3643-flip-square-submatrix-vertically Easy
3653-xor-after-range-multiplication-queries-i Medium
3655-xor-after-range-multiplication-queries-ii Hard
3660-jump-game-ix Medium
3661-maximum-walls-destroyed-by-robots Hard
3740-minimum-distance-between-three-equal-elements-i Easy
3741-minimum-distance-between-three-equal-elements-ii Medium
3742-maximum-path-score-in-a-grid Medium
3761-minimum-absolute-distance-between-mirror-pairs Medium

Greedy

Problem Name Difficulty
0055-jump-game Medium
0122-best-time-to-buy-and-sell-stock-ii Medium
1536-minimum-swaps-to-arrange-a-binary-grid Medium
1727-largest-submatrix-with-rearrangements Medium
2078-two-furthest-houses-with-different-colors Easy
2573-find-the-string-with-lcp Hard
3296-minimum-number-of-seconds-to-make-mountain-height-zero Medium
3474-lexicographically-smallest-generated-string Hard
3600-maximize-spanning-tree-stability-with-upgrades Hard

Matrix

Problem Name Difficulty
0048-rotate-image Medium
1391-check-if-there-is-a-valid-path-in-a-grid Medium
1536-minimum-swaps-to-arrange-a-binary-grid Medium
1559-detect-cycles-in-2d-grid Medium
1582-special-positions-in-a-binary-matrix Easy
1594-maximum-non-negative-product-in-a-matrix Medium
1727-largest-submatrix-with-rearrangements Medium
1861-rotating-the-box Medium
1878-get-biggest-three-rhombus-sums-in-a-grid Medium
1886-determine-whether-matrix-can-be-obtained-by-rotation Easy
1914-cyclically-rotating-a-grid Medium
2033-minimum-operations-to-make-a-uni-value-grid Medium
2573-find-the-string-with-lcp Hard
2906-construct-product-matrix Medium
2946-matrix-similarity-after-cyclic-shifts Easy
3070-count-submatrices-with-top-left-element-and-sum-less-than-k Medium
3212-count-submatrices-with-equal-frequency-of-x-and-y Medium
3225-maximum-score-from-grid-operations Hard
3418-maximum-amount-of-money-robot-can-earn Medium
3546-equal-sum-grid-partition-i Medium
3548-equal-sum-grid-partition-ii Hard
3567-minimum-absolute-difference-in-sliding-submatrix Medium
3643-flip-square-submatrix-vertically Easy
3742-maximum-path-score-in-a-grid Medium

String

Problem Name Difficulty
0125-valid-palindrome Easy
0205-isomorphic-strings Easy
0383-ransom-note Easy
0796-rotate-string Easy
1320-minimum-distance-to-type-a-word-using-two-fingers Hard
1415-the-k-th-lexicographical-string-of-all-happy-strings-of-length-n Medium
1545-find-kth-bit-in-nth-binary-string Medium
1758-minimum-changes-to-make-alternating-binary-string Easy
1784-check-if-binary-string-has-at-most-one-segment-of-ones Easy
1888-minimum-number-of-flips-to-make-the-binary-string-alternating Medium
1980-find-unique-binary-string Medium
2075-decode-the-slanted-ciphertext Medium
2452-words-within-two-edits-of-dictionary Medium
2515-shortest-distance-to-target-string-in-a-circular-array Easy
2573-find-the-string-with-lcp Hard
2833-furthest-point-from-origin Easy
2839-check-if-strings-can-be-made-equal-with-operations-i Easy
2840-check-if-strings-can-be-made-equal-with-operations-ii Medium
3474-lexicographically-smallest-generated-string Hard

Recursion

Problem Name Difficulty
1545-find-kth-bit-in-nth-binary-string Medium

Simulation

Problem Name Difficulty
0874-walking-robot-simulation Medium
1545-find-kth-bit-in-nth-binary-string Medium
1914-cyclically-rotating-a-grid Medium
2069-walking-robot-simulation-ii Medium
2075-decode-the-slanted-ciphertext Medium
2149-rearrange-array-elements-by-sign Medium
2553-separate-the-digits-in-an-array Easy
2751-robot-collisions Hard
2946-matrix-similarity-after-cyclic-shifts Easy
3653-xor-after-range-multiplication-queries-i Medium

Dynamic Programming

Problem Name Difficulty
0053-maximum-subarray Medium
0055-jump-game Medium
0121-best-time-to-buy-and-sell-stock Easy
0122-best-time-to-buy-and-sell-stock-ii Medium
0396-rotate-function Medium
0788-rotated-digits Medium
1320-minimum-distance-to-type-a-word-using-two-fingers Hard
1594-maximum-non-negative-product-in-a-matrix Medium
1888-minimum-number-of-flips-to-make-the-binary-string-alternating Medium
2463-minimum-total-distance-traveled Hard
2573-find-the-string-with-lcp Hard
2770-maximum-number-of-jumps-to-reach-the-last-index Medium
3129-find-all-possible-stable-binary-arrays-i Medium
3130-find-all-possible-stable-binary-arrays-ii Hard
3225-maximum-score-from-grid-operations Hard
3418-maximum-amount-of-money-robot-can-earn Medium
3660-jump-game-ix Medium
3661-maximum-walls-destroyed-by-robots Hard
3742-maximum-path-score-in-a-grid Medium

Sliding Window

Problem Name Difficulty
0239-sliding-window-maximum Hard
1888-minimum-number-of-flips-to-make-the-binary-string-alternating Medium

Hash Table

Problem Name Difficulty
0169-majority-element Easy
0205-isomorphic-strings Easy
0383-ransom-note Easy
0874-walking-robot-simulation Medium
1980-find-unique-binary-string Medium
2615-sum-of-distances Medium
2840-check-if-strings-can-be-made-equal-with-operations-ii Medium
3488-closest-equal-element-queries Medium
3548-equal-sum-grid-partition-ii Hard
3629-minimum-jumps-to-reach-end-via-prime-teleportation Medium
3740-minimum-distance-between-three-equal-elements-i Easy
3741-minimum-distance-between-three-equal-elements-ii Medium
3761-minimum-absolute-distance-between-mirror-pairs Medium

Backtracking

Problem Name Difficulty
1415-the-k-th-lexicographical-string-of-all-happy-strings-of-length-n Medium
1980-find-unique-binary-string Medium

Prefix Sum

Problem Name Difficulty
1878-get-biggest-three-rhombus-sums-in-a-grid Medium
2615-sum-of-distances Medium
2906-construct-product-matrix Medium
3070-count-submatrices-with-top-left-element-and-sum-less-than-k Medium
3129-find-all-possible-stable-binary-arrays-i Medium
3130-find-all-possible-stable-binary-arrays-ii Hard
3212-count-submatrices-with-equal-frequency-of-x-and-y Medium
3225-maximum-score-from-grid-operations Hard
3546-equal-sum-grid-partition-i Medium
3548-equal-sum-grid-partition-ii Hard

Bit Manipulation

Problem Name Difficulty
1009-complement-of-base-10-integer Easy

Binary Search

Problem Name Difficulty
0167-two-sum-ii-input-array-is-sorted Medium
1855-maximum-distance-between-a-pair-of-values Medium
3296-minimum-number-of-seconds-to-make-mountain-height-zero Medium
3464-maximize-the-distance-between-points-on-a-square Hard
3488-closest-equal-element-queries Medium
3600-maximize-spanning-tree-stability-with-upgrades Hard
3661-maximum-walls-destroyed-by-robots Hard

Union-Find

Problem Name Difficulty
1391-check-if-there-is-a-valid-path-in-a-grid Medium
1559-detect-cycles-in-2d-grid Medium
1722-minimize-hamming-distance-after-swap-operations Medium
2573-find-the-string-with-lcp Hard
3600-maximize-spanning-tree-stability-with-upgrades Hard

Graph Theory

Problem Name Difficulty
3600-maximize-spanning-tree-stability-with-upgrades Hard

Minimum Spanning Tree

Problem Name Difficulty
3600-maximize-spanning-tree-stability-with-upgrades Hard

Math

Problem Name Difficulty
0048-rotate-image Medium
0189-rotate-array Medium
0396-rotate-function Medium
0788-rotated-digits Medium
1622-fancy-sequence Hard
1878-get-biggest-three-rhombus-sums-in-a-grid Medium
2033-minimum-operations-to-make-a-uni-value-grid Medium
2946-matrix-similarity-after-cyclic-shifts Easy
3296-minimum-number-of-seconds-to-make-mountain-height-zero Medium
3464-maximize-the-distance-between-points-on-a-square Hard
3629-minimum-jumps-to-reach-end-via-prime-teleportation Medium
3761-minimum-absolute-distance-between-mirror-pairs Medium
3783-mirror-distance-of-an-integer Easy

Heap (Priority Queue)

Problem Name Difficulty
0239-sliding-window-maximum Hard
1878-get-biggest-three-rhombus-sums-in-a-grid Medium
3296-minimum-number-of-seconds-to-make-mountain-height-zero Medium

Design

Problem Name Difficulty
1622-fancy-sequence Hard
2069-walking-robot-simulation-ii Medium

Segment Tree

Problem Name Difficulty
1622-fancy-sequence Hard

Sorting

Problem Name Difficulty
0015-3sum Medium
0088-merge-sorted-array Easy
0169-majority-element Easy
1727-largest-submatrix-with-rearrangements Medium
1878-get-biggest-three-rhombus-sums-in-a-grid Medium
2033-minimum-operations-to-make-a-uni-value-grid Medium
2463-minimum-total-distance-traveled Hard
2751-robot-collisions Hard
2840-check-if-strings-can-be-made-equal-with-operations-ii Medium
3464-maximize-the-distance-between-points-on-a-square Hard
3567-minimum-absolute-difference-in-sliding-submatrix Medium
3661-maximum-walls-destroyed-by-robots Hard

Two Pointers

Problem Name Difficulty
0015-3sum Medium
0026-remove-duplicates-from-sorted-array Easy
0027-remove-element Easy
0031-next-permutation Medium
0061-rotate-list Medium
0080-remove-duplicates-from-sorted-array-ii Medium
0088-merge-sorted-array Easy
0125-valid-palindrome Easy
0167-two-sum-ii-input-array-is-sorted Medium
0189-rotate-array Medium
1855-maximum-distance-between-a-pair-of-values Medium
1861-rotating-the-box Medium
2149-rearrange-array-elements-by-sign Medium
3643-flip-square-submatrix-vertically Easy

Enumeration

Problem Name Difficulty
3546-equal-sum-grid-partition-i Medium
3548-equal-sum-grid-partition-ii Hard

String Matching

Problem Name Difficulty
0796-rotate-string Easy
3474-lexicographically-smallest-generated-string Hard

Stack

Problem Name Difficulty
2751-robot-collisions Hard

Divide and Conquer

Problem Name Difficulty
0053-maximum-subarray Medium
0169-majority-element Easy
3653-xor-after-range-multiplication-queries-i Medium
3655-xor-after-range-multiplication-queries-ii Hard

Queue

Problem Name Difficulty
0239-sliding-window-maximum Hard

Monotonic Queue

Problem Name Difficulty
0239-sliding-window-maximum Hard

Depth-First Search

Problem Name Difficulty
0637-average-of-levels-in-binary-tree Easy
1391-check-if-there-is-a-valid-path-in-a-grid Medium
1559-detect-cycles-in-2d-grid Medium
1722-minimize-hamming-distance-after-swap-operations Medium

Trie

Problem Name Difficulty
2452-words-within-two-edits-of-dictionary Medium

Counting

Problem Name Difficulty
0169-majority-element Easy
0383-ransom-note Easy
2833-furthest-point-from-origin Easy

Geometry

Problem Name Difficulty
3464-maximize-the-distance-between-points-on-a-square Hard

Breadth-First Search

Problem Name Difficulty
0637-average-of-levels-in-binary-tree Easy
1391-check-if-there-is-a-valid-path-in-a-grid Medium
1559-detect-cycles-in-2d-grid Medium
3629-minimum-jumps-to-reach-end-via-prime-teleportation Medium

Tree

Problem Name Difficulty
0637-average-of-levels-in-binary-tree Easy

Binary Tree

Problem Name Difficulty
0637-average-of-levels-in-binary-tree Easy

Linked List

Problem Name Difficulty
0061-rotate-list Medium

Number Theory

Problem Name Difficulty
3629-minimum-jumps-to-reach-end-via-prime-teleportation Medium

About

This repository is managed by LeetPush extension: https://github.com/husamahmud/LeetPush

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages