Skip to content
/ DSA-practice Public template

NeetCode/Blind 75 style DSA practice in Python with tests.

Notifications You must be signed in to change notification settings

TusharQ15/DSA-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSA Practice Repository

NeetCode/Blind 75 style DSA practice in Python with tests.

🔖 Topics: python, dsa, algorithms, data-structures, leetcode, coding-interview, neetcode, blind-75

🚀 Getting Started

Prerequisites

  • Python 3.8+
  • pip (Python package installer)

Installation

  1. Clone the repository:

    git clone https://github.com/TusharQ15/dsa-practice.git
    cd dsa-practice
  2. (Recommended) Create and activate a virtual environment:

    # Windows
    python -m venv venv
    .\venv\Scripts\activate
    
    # macOS/Linux
    python3 -m venv venv
    source venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt

Repository Structure

dsa-practice/
├── arrays/               # Array manipulation problems
│   ├── basics/           # Warm-up problems (fundamental operations, not counted in progress)
│   └── *.py              # Interview-level array problems (counted in progress)
├── strings/              # String manipulation problems
└── tests/                # Test cases for all problems

Note: Problems in arrays/basics/ are warm-up exercises and are not counted in the progress tracking. Only problems in the root of arrays/ are considered interview-level and contribute to the progress metrics.

Current Focus

30-Day DSA Challenge (Dec 2025 – Jan 2026)
Focused on mastering core data structures and algorithms through structured practice. Following a NeetCode/Blind 75 style curriculum with an emphasis on arrays, strings, binary search, and pattern-based problem-solving.

See PROGRESS.md for detailed progress tracking and problem solutions.

Note: More topics and problems will be added over time.

Problem File Format

Each solution follows this consistent structure:

"""
Problem: Two Sum
Source: https://leetcode.com/problems/two-sum/
Difficulty: Easy

Approach: Use a hash map to store seen numbers and their indices.
Time Complexity: O(n)
Space Complexity: O(n)
"""

from typing import List

def two_sum(nums: List[int], target: int) -> List[int]:
    pass

For a complete example, see arrays/two_sum.py.

🧪 Testing

Tests are written using pytest. Each problem has a corresponding test file in the tests/ directory.

Run all tests:

pytest tests/

Run tests for a specific problem:

pytest tests/test_two_sum.py

📊 Progress

Topic Problems Key Patterns
Arrays 9 Two Pointers, Sliding Window, Binary Search
Strings 2 Two Pointers, Hashing

I use these resources for practice and learning:

📝 Notes

Personal notes and insights are maintained in NOTES.md.

About

NeetCode/Blind 75 style DSA practice in Python with tests.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages