โ— Shell
clean mode source โ†—

GitHub - onixlas/algorithmic-patterns: Leetcode 75 study plan tasks

This repository contains curated solutions to a subset of common algorithmic problems, primarily based on the LeetCode 75 study plan.

The purpose of this repository is to maintain algorithmic fluency and document common problem-solving patterns that frequently appear in technical interviews and real-world engineering tasks.

This is not intended as a competitive programming showcase, but rather as a structured reference for fundamental data structures and algorithms.


๐Ÿ“Œ Scope

The problems cover a range of foundational algorithmic topics, including:

  • Arrays and strings
  • Two pointers
  • Sliding window
  • Prefix sums
  • Hash-based data structures
  • Stack and queue
  • Basic graph and traversal patterns

Each solution focuses on:

  • clarity and readability
  • explicit time and space complexity
  • well-known algorithmic patterns rather than clever tricks

๐Ÿ—‚ Repository Structure

.
โ”œโ”€โ”€ pyproject.toml        # Project configuration
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ array_string/     # Array and string manipulation patterns
โ”‚   โ”œโ”€โ”€ hashmap_set/      # Hash map and set based problems
โ”‚   โ”œโ”€โ”€ prefix_sum/       # Prefix sum techniques
โ”‚   โ”œโ”€โ”€ sliding_window/   # Sliding window pattern
โ”‚   โ”œโ”€โ”€ two_pointers/     # Two pointers pattern
โ”‚   โ”œโ”€โ”€ stack/            # Stack-based problems
โ”‚   โ””โ”€โ”€ queue/            # Queue-based problems
โ”‚
โ”‚   # Each submodule follows a consistent structure:
โ”‚   # <problem_name>/
โ”‚   # โ”œโ”€โ”€ __init__.py
โ”‚   # โ””โ”€โ”€ solution.py
โ”‚
โ””โ”€โ”€ tests/                # Tests for all problems

๐Ÿง  Design principles

  • Clean, readable Python code
  • Emphasis on algorithmic patterns
  • Avoidance of overly compact or non-obvious solutions
  • Explicit handling of edge cases

๐Ÿ›  Language

  • Python

๐Ÿ”Ž Notes

This repository complements my primary work in machine learning and LLM-based systems, where a solid understanding of algorithms and data structures remains essential for building reliable and scalable production systems.