Skip to content

pertrai1/coding-challenges

Repository files navigation

Coding Challenges

A comprehensive collection of coding challenges from multiple platforms for learning data structures, algorithms, and frontend engineering.

Overview

Platform Focus Area Problems Solved
LeetCode Data Structures & Algorithms 169
GreatFrontEnd Frontend Engineering 9

Platforms

Various places where I enjoy practicing solving coding challenges:

LeetCode

Focus: Data structures, algorithms, and problem-solving patterns

Progress:

  • Easy: 80 problems
  • Medium: 75 problems
  • Hard: 14 problems

Quick Links:

Resources:


GreatFrontEnd

Focus: Frontend engineering, JavaScript fundamentals, and system design

Progress:

  • GFE 75: 5/75 problems
  • Blind 75: 4/75 problems

Quick Links:

Coming Soon:

  • Frontend System Design

Learning Resources

Algorithmic Patterns

Topic Guides

Interview Preparation

Problems by Difficulty

Easy Problems (80 solved)

Array & String

Easy Tree Problems

Math & Bit Manipulation

Hash Table & Map

JavaScript/TypeScript

Medium Problems (75 solved)

Stack & Design

Array & Two Pointers

Linked List

Medium Tree Problems

String Manipulation

Dynamic Programming

Math & Number Theory

Graph & Grid Problems

Medium JavaScript/TypeScript

Hard Problems (14 solved)

Array & Dynamic Programming

Backtracking & Trie

Graph Problems

Problems by Pattern

Two Pointers

Sliding Window

Hash Table / Hash Map

Dynamic Programming Pattern

Graphs (BFS/DFS)

Getting Started

Structure

Each problem directory contains:

  • README.md - Problem description and examples
  • Solution file(s) in JavaScript/TypeScript
  • Test files (where applicable) using Vitest
  • Auto-generated analysis files in docs/analysis/

Running Solutions

# Navigate to a problem directory
cd leetcode/easy/0001-two-sum

# Run the solution
node two-sum.js

# Or with TypeScript
npx ts-node two-sum.ts

Running Tests

# Install dependencies
npm install

# Run all tests in watch mode
npm test

# Run tests once (CI mode)
npm run test:run

# Run tests with interactive UI
npm run test:ui

# Generate coverage report
npm run test:coverage

# Run specific test
npm test -- two-sum.test

Quality Checks

# Quick quality check (lint + format check)
npm run quality:check

# Fix linting and formatting issues
npm run quality:fix

# Comprehensive quality analysis
npm run quality:full

# Analyze algorithm complexity
npm run complexity:leetcode

Testing

This repository uses Vitest for fast, modern testing:

  • Watch Mode: Automatically re-runs tests on file changes
  • UI Mode: Visual interface for viewing and debugging tests
  • Coverage: Built-in code coverage with v8
  • TypeScript: First-class TypeScript support

See Testing Guide for detailed instructions.

Code Quality

Automated quality system includes:

  • ESLint: Code style and quality enforcement
  • Prettier: Consistent code formatting
  • Complexity Analyzer: Automated Big O analysis
  • Pre-commit Hooks: Quality gates (optional)
  • CI/CD Workflows: Automated checks on PRs

See Code Quality Guide for details.

AI Agents

Multiple specialized AI agents maintain code quality and create educational documentation:

  • DSA Code Reviewer: Reviews algorithm solutions and provides complexity analysis
  • Test Case Generator: Creates comprehensive test cases
  • Algorithmic Pattern Spotter: Identifies and documents patterns

See AGENTS.md for comprehensive agent guidelines.

Contributing

This is a personal learning repository, but suggestions and improvements are welcome! Please follow the guidelines in CLAUDE.md when contributing.

Code Review

All solutions in this repository follow strict review guidelines. See CLAUDE.md for:

  • Algorithm correctness criteria
  • Complexity analysis standards
  • Code quality expectations
  • DSA learning focus areas
  • Platform-specific guidelines (LeetCode, GreatFrontEnd)

Spaced Repetition System

This repository includes an automated spaced repetition system for problem review:

  • Reviews scheduled at 1, 3, 7, 14, and 30 days after solving
  • Automatic GitHub issue creation for review reminders
  • Progress tracking in docs/reviews/review-schedule.json

Learn more: Interview Workflow Documentation

Contributors 7