Skip to content

JRRS1982/Kata

Repository files navigation

Algorithm Learning Repository

A comprehensive collection of algorithm problems and solutions designed as a structured learning resource. This repository contains problems from LeetCode, organized by patterns and difficulty to facilitate systematic learning.

📚 Quick Navigation

🎯 Learning Philosophy

This repository follows these principles:

  1. Pattern Recognition: Group problems by algorithmic patterns
  2. Multiple Solutions: Document brute force → optimized approaches
  3. Spaced Repetition: Review problems at intervals (1 week, 1 month, 3 months)
  4. Deep Understanding: Focus on why solutions work, not just how

Problems by Category

Work through categories in this order: 🟢 Beginner → 🟡 Intermediate → 🔴 Advanced

🟢 Beginner Level

Arrays & Hashing

Focus: Hash tables for O(1) lookups, frequency counting


Two Pointers

Focus: Left/right pointers, in-place modification


Stack

Focus: LIFO operations, matching pairs


🟡 Intermediate Level

Sliding Window

Focus: Dynamic window sizing, optimization


Binary Search

Focus: O(log n) search, boundary conditions


Trees

Focus: DFS/BFS, tree traversal


Backtracking

Focus: Decision trees, exploring all possibilities


🔴 Advanced Level

Dynamic Programming

Focus: Memoization, optimal substructure

1D Dynamic Programming
2D Dynamic Programming

Graphs

Focus: Graph traversal, cycle detection

Advanced Graph

Greedy

Focus: Local optimal choices


Heap / Priority Queue

Focus: Min/max operations, top K elements


Interval

Focus: Overlapping intervals, merging


Linked List

Focus: Pointer manipulation, cycle detection


Math and Geometry

Focus: Matrix operations, mathematical patterns


Tries

Focus: Prefix matching, word search


Queue

Focus: FIFO operations, level-order processing

About

Kata and exercises from Leetcode and elsewhere

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •