Welcome to my Data Structures and Algorithms (DSA) practice repository! This project documents my journey as I tackle DSA problems daily, aiming to improve my problem-solving skills and algorithmic thinking.
This repository is dedicated to solving various DSA problems using Python. It serves as both a record of my progress and a resource for others learning DSA. The focus is on practicing problems daily to build a strong foundation in fundamental data structures and algorithms.
- Largest Element in an Array
- Second Largest Element in an Array without Sorting
- Check if the Array is Sorted
- Remove Duplicates from Sorted Array
- Left Rotate an Array by One Place
- Left Rotate an Array by D Places
- Move Zeros to End
- Linear Search
- Find Missing Number in an Array
- Maximum Consecutive Ones
- Find the Number that Appears Once, and Other Numbers Twice
- Longest Subarray with Given Sum K (Positives)
- Remove Outermost Parentheses
- Reverse Words in a Given String / Palindrome Check
- Largest Odd Number in a String
- Longest Common Prefix (Explanation Link: https://youtu.be/8C6F8_nM0qs?si=TyAH9sslD8rOzHdd)
- Isomorphic String (Explanation Link: https://youtu.be/7yF-U1hLEqQ?si=lRDbeGGS2OwK9CWz)
- Rotate String to Goal (Explanation Link: https://youtu.be/SkX6IfJixM0?si=yowc0FVBLzjyyC6F)
- Valid Anagram or Not (Explanation Link: https://youtu.be/_cCTcPQik6A?si=E38poGruVnb0AeBu)
- Sort Characters by Frequency
- Find Maximum Nesting Depth of the Parentheses (Explanation Link: https://youtu.be/FiQFJvCvWK4?si=_tWhcYdoZV0qIHAs)
- Convert Roman to Integer (Explanation Link: https://youtu.be/dlATMslQ6Uc?si=LT6nM1XfIFDjAPkl)
- Introduction to Linked Lists (Explanation Link: https://youtu.be/Nq7ok-OyEpg?si=LGDaNv4uondK6y0F)
My primary objectives for this project are:
- Consistent practice of DSA problems
- Improving problem-solving skills
- Enhancing proficiency in Python programming
- Building a strong foundation in fundamental data structures and algorithms
I intend to:
- Add more problems and solutions to this repository
- Cover a wider range of DSA topics and difficulty levels
- Provide regular updates with new content
While this is a personal practice repository, I welcome suggestions, improvements, and discussions.