Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grind 75 - Coding Interview Preparation

This repository contains solutions to the Grind 75 coding interview problems, organized by week. Each problem is solved in JavaScript and includes the problem statement and solution approach.

📚 Problem Structure

The problems are organized into 8 weeks, with each week containing 7-13 problems of increasing difficulty:

  • Week 01: Basic algorithms and data structures
  • Week 02: Arrays, strings, and linked lists
  • Week 03: Advanced algorithms and tree traversal
  • Week 04: Dynamic programming and graph algorithms
  • Week 05: Binary search and advanced tree problems
  • Week 06: Backtracking and matrix problems
  • Week 07: Advanced algorithms and system design
  • Week 08: Complex algorithms and optimization

🚀 Getting Started

  1. Clone this repository:

    git clone https://github.com/yourusername/grind-75.git
    cd grind-75
  2. Each problem file contains:

    • Problem statement
    • Solution implementation
    • Time and space complexity analysis
    • Test cases (where applicable)

📁 File Organization

Week 01/
├── 01-two-sum.js
├── 02-valid-parentheses.js
├── 03-merge-two-sorted-lists.js
└── ...

Week 02/
├── 01-first-bad-version.js
├── 02-ransom-note.js
└── ...

🎯 Problem Categories

Arrays & Strings

  • Two Sum
  • Valid Anagram
  • Longest Substring Without Repeating Characters
  • 3Sum
  • Product of Array Except Self

Linked Lists

  • Merge Two Sorted Lists
  • Reverse Linked List
  • Middle of the Linked List
  • Linked List Cycle

Trees

  • Invert Binary Tree
  • Binary Search
  • Balanced Binary Tree
  • Binary Tree Level Order Traversal
  • Validate Binary Search Tree

Dynamic Programming

  • Climbing Stairs
  • Coin Change
  • Word Break
  • Partition Equal Subset Sum

Graphs

  • Clone Graph
  • Course Schedule
  • Number of Islands
  • Word Ladder

Advanced Algorithms

  • LRU Cache
  • Serialize and Deserialize Binary Tree
  • Find Median from Data Stream
  • Merge k Sorted Lists

🧪 Running Solutions

Each JavaScript file can be run directly with Node.js:

node Week\ 01/01-two-sum.js

📊 Progress Tracking

  • Week 01: 13/13 problems completed
  • Week 02: 12/12 problems completed
  • Week 03: 8/8 problems completed
  • Week 04: 8/8 problems completed
  • Week 05: 8/8 problems completed
  • Week 06: 9/9 problems completed
  • Week 07: 7/7 problems completed
  • Week 08: 10/10 problems completed

Total: 75/75 problems completed

🎓 Learning Objectives

This collection covers essential topics for technical interviews:

  • Algorithm Design: Understanding when to use different algorithmic approaches
  • Data Structures: Mastery of arrays, linked lists, trees, graphs, and hash tables
  • Complexity Analysis: Time and space complexity optimization
  • Problem Solving: Breaking down complex problems into manageable steps
  • Code Quality: Writing clean, readable, and maintainable code

📝 Notes

  • All solutions are implemented in JavaScript (ES6+)
  • Each solution includes detailed comments explaining the approach
  • Time and space complexity are documented for each solution
  • Solutions follow best practices and common interview patterns

🤝 Contributing

Feel free to:

  • Report bugs or issues
  • Suggest optimizations
  • Add additional test cases
  • Improve documentation

📄 License

This project is for educational purposes. All problem statements are from the original Grind 75 list.


Happy Coding! 🚀

About

Complete solutions to Grind 75 coding interview problems

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages