Skip to content

Personal algorithm learning journal with solutions, mistake analysis, and spaced repetition retry list.

License

Notifications You must be signed in to change notification settings

KruglovDK/algorithm-diary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Algorithm Diary

LeetCode Status

A personal learning journal for tracking algorithm problem-solving progress. Includes solutions, failed attempts analysis, and a retry list for spaced repetition practice.

πŸ“š What is this?

This repository serves as a structured system for mastering algorithms and data structures through three key components:

  • Solutions Diary β€” Optimal solutions with time/space complexity analysis
  • Mistakes Diary β€” Failed attempts with root cause analysis
  • Retry List β€” Problems to revisit using spaced repetition

πŸ“ Structure

algorithm-diary/
β”œβ”€β”€ retry-list/
β”‚   └── README.md              # Problems to revisit (remove when solved)
β”œβ”€β”€ problems/
β”‚   β”œβ”€β”€ array/
β”‚   β”‚   └── two-sum/
β”‚   β”‚       β”œβ”€β”€ solution.md    # Optimal solution + explanation
β”‚   β”‚       └── fails.md       # Failed attempts + analysis
β”‚   β”œβ”€β”€ linked-list/
β”‚   β”‚   β”œβ”€β”€ reverse-list/
β”‚   β”‚   └── merge-lists/
β”‚   β”œβ”€β”€ tree/
β”‚   β”œβ”€β”€ graph/
β”‚   β”œβ”€β”€ dynamic-programming/
β”‚   β”œβ”€β”€ binary-search/
β”‚   └── ...
└── README.md

πŸ“ Solution Template

Each solution.md follows this structure:

# Problem Name

[LeetCode Link](https://leetcode.com/problems/...)

## Solution

\`\`\`python
# Code here
\`\`\`

## Complexity

**Time:** `O(n)` β€” explanation  
**Space:** `O(n)` β€” explanation

## Approach

Step-by-step explanation of the solution logic.

❌ Fails Template

Each fails.md documents failed attempts:

# Failed Attempts

## Attempt 1 β€” TLE
\`\`\`python
# Failed code
\`\`\`
**What went wrong:** Used nested loops O(nΒ²) instead of hashmap O(n)

## Attempt 2 β€” Wrong Answer
\`\`\`python
# Failed code
\`\`\`
**What went wrong:** Off-by-one error in boundary check

πŸ”„ Retry List

Problems that couldn't be solved within 30 minutes go to retry-list/README.md

Spaced Repetition Schedule:

  • First retry: 1-2 days after initial attempt
  • Second retry: 1-2 weeks later
  • Remove from list when solved confidently

🏷️ Topics

  • Array
  • String
  • Linked List
  • Stack / Queue
  • Tree / Binary Tree
  • Graph
  • Hash Table
  • Binary Search
  • Two Pointers
  • Sliding Window
  • Dynamic Programming
  • Greedy
  • Backtracking
  • Heap / Priority Queue

🎯 Purpose

  1. Track progress β€” See improvement over time
  2. Learn from mistakes β€” Documenting failures prevents repeating them
  3. Build a personal cheatsheet β€” Quick reference before interviews
  4. Spaced repetition β€” Retry list ensures long-term retention

πŸ“„ License

This project is licensed under the MIT License.

About

Personal algorithm learning journal with solutions, mistake analysis, and spaced repetition retry list.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published