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.
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
-
Clone this repository:
git clone https://github.com/yourusername/grind-75.git cd grind-75 -
Each problem file contains:
- Problem statement
- Solution implementation
- Time and space complexity analysis
- Test cases (where applicable)
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
└── ...
- Two Sum
- Valid Anagram
- Longest Substring Without Repeating Characters
- 3Sum
- Product of Array Except Self
- Merge Two Sorted Lists
- Reverse Linked List
- Middle of the Linked List
- Linked List Cycle
- Invert Binary Tree
- Binary Search
- Balanced Binary Tree
- Binary Tree Level Order Traversal
- Validate Binary Search Tree
- Climbing Stairs
- Coin Change
- Word Break
- Partition Equal Subset Sum
- Clone Graph
- Course Schedule
- Number of Islands
- Word Ladder
- LRU Cache
- Serialize and Deserialize Binary Tree
- Find Median from Data Stream
- Merge k Sorted Lists
Each JavaScript file can be run directly with Node.js:
node Week\ 01/01-two-sum.js- 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 ✅
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
- 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
Feel free to:
- Report bugs or issues
- Suggest optimizations
- Add additional test cases
- Improve documentation
This project is for educational purposes. All problem statements are from the original Grind 75 list.
Happy Coding! 🚀