# DSA & Problem Solving
This repository contains my solutions to Data Structures and Algorithms problems that I solve regularly for practice and interview preparation.
I have solved all of these questions on Leetcode, and maximum solutions are written in Java. I have also coded a few questions in JavaScript and C++.
I started this repository to:
- stay consistent with DSA
- improve problem-solving skills
- understand patterns instead of memorizing solutions
- track my progress over time
---
## Topics Covered
- Arrays
- Strings
- Linked Lists
- Stacks & Queues
- Sliding Window
- Two Pointers
- Recursion & Backtracking
- Binary Search
- Greedy
- Dynamic Programming
- Trees
---
## Language
- Java
- C++
- JavaScript
---
## Repository Structure
```text
Arrays/
Strings/
LinkedList/
Stack/
Queue/
Trees/
Graphs/
DynamicProgramming/I try to write:
- clean code
- optimized solutions
- understandable approaches
Some problems may also include multiple approaches or notes that helped me understand the concept better.
This repository is mainly a way for me to document my learning journey and stay disciplined with problem solving.
| Problem Name | Difficulty |
|---|---|
| 0020-valid-parentheses | Easy |
| 0225-implement-stack-using-queues | Easy |
| 0232-implement-queue-using-stacks | Easy |
| 0496-next-greater-element-i | Easy |
| 0503-next-greater-element-ii | Medium |
| 0682-baseball-game | Easy |
| 2130-maximum-twin-sum-of-a-linked-list | Medium |
| 3174-clear-digits | Easy |
| Problem Name | Difficulty |
|---|---|
| 0682-baseball-game | Easy |
| 3174-clear-digits | Easy |
| 3612-process-string-with-special-operations-i | Medium |
| Problem Name | Difficulty |
|---|---|
| 0033-search-in-rotated-sorted-array | Medium |
| 0081-search-in-rotated-sorted-array-ii | Medium |
| 0153-find-minimum-in-rotated-sorted-array | Medium |
| 0162-find-peak-element | Medium |
| 0167-two-sum-ii-input-array-is-sorted | Medium |
| 0287-find-the-duplicate-number | Medium |
| 0633-sum-of-square-numbers | Medium |
| 1004-max-consecutive-ones-iii | Medium |
| Problem Name | Difficulty |
|---|---|
| 0020-valid-parentheses | Easy |
| 0151-reverse-words-in-a-string | Medium |
| 0392-is-subsequence | Easy |
| 0459-repeated-substring-pattern | Easy |
| 0482-license-key-formatting | Easy |
| 0541-reverse-string-ii | Easy |
| 0680-valid-palindrome-ii | Easy |
| 1358-number-of-substrings-containing-all-three-characters | Medium |
| 3174-clear-digits | Easy |
| 3612-process-string-with-special-operations-i | Medium |
| Problem Name | Difficulty |
|---|---|
| 0011-container-with-most-water | Medium |
| 0019-remove-nth-node-from-end-of-list | Medium |
| 0141-linked-list-cycle | Easy |
| 0142-linked-list-cycle-ii | Medium |
| 0148-sort-list | Medium |
| 0151-reverse-words-in-a-string | Medium |
| 0167-two-sum-ii-input-array-is-sorted | Medium |
| 0189-rotate-array | Medium |
| 0287-find-the-duplicate-number | Medium |
| 0392-is-subsequence | Easy |
| 0455-assign-cookies | Easy |
| 0541-reverse-string-ii | Easy |
| 0633-sum-of-square-numbers | Medium |
| 0680-valid-palindrome-ii | Easy |
| 2095-delete-the-middle-node-of-a-linked-list | Medium |
| 2130-maximum-twin-sum-of-a-linked-list | Medium |
| Problem Name | Difficulty |
|---|---|
| 0048-rotate-image | Medium |
| 0089-gray-code | Medium |
| 0096-unique-binary-search-trees | Medium |
| 0189-rotate-array | Medium |
| 0633-sum-of-square-numbers | Medium |
| 1344-angle-between-hands-of-a-clock | Medium |
| 1952-three-divisors | Easy |
| 2614-prime-in-diagonal | Easy |
| 3300-minimum-element-after-replacement-with-digit-sum | Easy |
| 3658-gcd-of-odd-and-even-sums | Easy |
| Problem Name | Difficulty |
|---|---|
| 0053-maximum-subarray | Medium |
| 0055-jump-game | Medium |
| 0096-unique-binary-search-trees | Medium |
| 0124-binary-tree-maximum-path-sum | Hard |
| 0198-house-robber | Medium |
| 0392-is-subsequence | Easy |
| Problem Name | Difficulty |
|---|---|
| 0011-container-with-most-water | Medium |
| 0055-jump-game | Medium |
| 0455-assign-cookies | Easy |
| 0680-valid-palindrome-ii | Easy |
| 0860-lemonade-change | Easy |
| 1833-maximum-ice-cream-bars | Medium |
| 3689-maximum-total-subarray-value-i | Medium |
| Problem Name | Difficulty |
|---|---|
| 0001-two-sum | Easy |
| 0141-linked-list-cycle | Easy |
| 0142-linked-list-cycle-ii | Medium |
| 0496-next-greater-element-i | Easy |
| 1358-number-of-substrings-containing-all-three-characters | Medium |
| 2196-create-binary-tree-from-descriptions | Medium |
| 3737-count-subarrays-with-majority-element-i | Medium |
| Problem Name | Difficulty |
|---|---|
| 1004-max-consecutive-ones-iii | Medium |
| 1358-number-of-substrings-containing-all-three-characters | Medium |
| Problem Name | Difficulty |
|---|---|
| 1004-max-consecutive-ones-iii | Medium |
| 1732-find-the-highest-altitude | Easy |
| 3737-count-subarrays-with-majority-element-i | Medium |
| Problem Name | Difficulty |
|---|---|
| 0019-remove-nth-node-from-end-of-list | Medium |
| 0141-linked-list-cycle | Easy |
| 0142-linked-list-cycle-ii | Medium |
| 0148-sort-list | Medium |
| 0328-odd-even-linked-list | Medium |
| 2095-delete-the-middle-node-of-a-linked-list | Medium |
| 2130-maximum-twin-sum-of-a-linked-list | Medium |
| Problem Name | Difficulty |
|---|---|
| 0225-implement-stack-using-queues | Easy |
| 0232-implement-queue-using-stacks | Easy |
| Problem Name | Difficulty |
|---|---|
| 0225-implement-stack-using-queues | Easy |
| 0232-implement-queue-using-stacks | Easy |
| Problem Name | Difficulty |
|---|---|
| 0096-unique-binary-search-trees | Medium |
| 0100-same-tree | Easy |
| 0101-symmetric-tree | Easy |
| 0102-binary-tree-level-order-traversal | Medium |
| 0110-balanced-binary-tree | Easy |
| 0124-binary-tree-maximum-path-sum | Hard |
| 0199-binary-tree-right-side-view | Medium |
| 0543-diameter-of-binary-tree | Easy |
| 0701-insert-into-a-binary-search-tree | Medium |
| 2196-create-binary-tree-from-descriptions | Medium |
| Problem Name | Difficulty |
|---|---|
| 0100-same-tree | Easy |
| 0101-symmetric-tree | Easy |
| 0102-binary-tree-level-order-traversal | Medium |
| 0199-binary-tree-right-side-view | Medium |
| Problem Name | Difficulty |
|---|---|
| 0096-unique-binary-search-trees | Medium |
| 0100-same-tree | Easy |
| 0101-symmetric-tree | Easy |
| 0102-binary-tree-level-order-traversal | Medium |
| 0110-balanced-binary-tree | Easy |
| 0124-binary-tree-maximum-path-sum | Hard |
| 0199-binary-tree-right-side-view | Medium |
| 0543-diameter-of-binary-tree | Easy |
| 0701-insert-into-a-binary-search-tree | Medium |
| 2196-create-binary-tree-from-descriptions | Medium |
| Problem Name | Difficulty |
|---|---|
| 0100-same-tree | Easy |
| 0101-symmetric-tree | Easy |
| 0110-balanced-binary-tree | Easy |
| 0124-binary-tree-maximum-path-sum | Hard |
| 0199-binary-tree-right-side-view | Medium |
| 0543-diameter-of-binary-tree | Easy |
| Problem Name | Difficulty |
|---|---|
| 0089-gray-code | Medium |
| 0137-single-number-ii | Medium |
| 0287-find-the-duplicate-number | Medium |
| Problem Name | Difficulty |
|---|---|
| 0148-sort-list | Medium |
| 0455-assign-cookies | Easy |
| 1833-maximum-ice-cream-bars | Medium |
| Problem Name | Difficulty |
|---|---|
| 0096-unique-binary-search-trees | Medium |
| 0701-insert-into-a-binary-search-tree | Medium |
| Problem Name | Difficulty |
|---|---|
| 0496-next-greater-element-i | Easy |
| 0503-next-greater-element-ii | Medium |
| Problem Name | Difficulty |
|---|---|
| 0459-repeated-substring-pattern | Easy |
| Problem Name | Difficulty |
|---|---|
| 1833-maximum-ice-cream-bars | Medium |
| 3737-count-subarrays-with-majority-element-i | Medium |
| Problem Name | Difficulty |
|---|---|
| 0053-maximum-subarray | Medium |
| 0148-sort-list | Medium |
| 3737-count-subarrays-with-majority-element-i | Medium |
| Problem Name | Difficulty |
|---|---|
| 0148-sort-list | Medium |
| 3737-count-subarrays-with-majority-element-i | Medium |
| Problem Name | Difficulty |
|---|---|
| 1952-three-divisors | Easy |
| Problem Name | Difficulty |
|---|---|
| 1952-three-divisors | Easy |
| 2614-prime-in-diagonal | Easy |
| 3658-gcd-of-odd-and-even-sums | Easy |
| Problem Name | Difficulty |
|---|---|
| 3737-count-subarrays-with-majority-element-i | Medium |
| Problem Name | Difficulty |
|---|---|
| 0048-rotate-image | Medium |
| 2614-prime-in-diagonal | Easy |
| Problem Name | Difficulty |
|---|---|
| 0046-permutations | Medium |
| 0089-gray-code | Medium |