This repository is my personal 20-week challenge to complete the Grind 169 LeetCode problems using Go.
- Goal: Solve 169 curated LeetCode problems in 20 weeks.
- Difficulty: Easy: 41, Medium: 102, Hard: 26
- Language: Go (Golang).
Week 1 (31 Dec 2024 - 5 Jan 2025)
- Problem 1: Two Sum (Easy, 15 mins)
- Problem 2: Valid Parentheses (Easy, 20 mins)
- Problem 3: Merge Two Sorted Lists (Easy, 20 mins)
- Problem 4: Best Time to Buy and Sell Stock (Easy, 20 mins)
- Problem 5: Valid Palindrome (Easy, 15 mins)
- Problem 6: Invert Binary Tree (Easy, 15 mins)
- Problem 7: Valid Anagram (Easy, 15 mins)
- Problem 8: Binary Search (Easy, 15 mins)
- Problem 9: Flood Fill (Easy, 20 mins)
- Problem 10: Lowest Common Ancestor of a Binary Search Tree (Easy, 20 mins)
- Problem 11: Balanced Binary Tree (Easy, 15 mins)
- Problem 12: Linked List Cycle (Easy, 20 mins)
- Problem 13: Implement Queue using Stacks (Easy, 20 mins)
- Problem 1: First Bad Version (Easy, 20 mins)
- Problem 2: Ransom Note (Easy, 15 mins)
- Problem 3: Climbing Stairs (Easy, 20 mins)
- Problem 4: Longest Palindrome (Easy, 20 mins)
- Problem 5: Reverse Linked List (Easy, 20 mins)
- Problem 6: Majority Element (Easy, 20 mins)
- Problem 7: Add Binary (Easy, 15 mins)
- Problem 8: Diameter of Binary Tree (Easy, 30 mins)
- Problem 9: Middle of the Linked List (Easy, 20 mins)
- Problem 10: Maximum Depth of Binary Tree (Easy, 15 mins)
- Problem 11: Contains Duplicate (Easy, 15 mins)
- Problem 12: Meeting Rooms (Easy, 20 mins)
- Problem 1: Roman to Integer (Easy, 20 mins)
- Problem 2: Backspace String Compare (Easy, 15 mins)
- Problem 3: Counting Bits (Easy, 15 mins)
- Problem 4: Same Tree (Easy, 20 mins)
- Problem 5: Number of 1 Bits (Easy, 15 mins)
- Problem 6: Longest Common Prefix (Easy, 20 mins)
- Problem 7: Single Number (Easy, 15 mins)
- Problem 8: Palindrome Linked List (Easy, 20 mins)
- Problem 9: Move Zeroes (Easy, 20 mins)
- Problem 10: Symmetric Tree (Easy, 20 mins)
- Problem 11: Missing Number (Easy, 15 mins)
- Problem 12: Palindrome Number (Easy, 15 mins)
- Problem 13: Convert Sorted Array to Binary Search Tree (Easy, 20 mins)
- Problem 1: Reverse Bits (Easy, 15 mins)
- Problem 2: Subtree of Another Tree (Easy, 20 mins)
- Problem 3: Squares of a Sorted Array (Easy, 20 mins)
- Problem 4: Maximum Subarray (Medium, 20 mins)
- Problem 5: Insert Interval (Medium, 25 mins)
- Problem 6: 01 Matrix (Medium, 30 mins)
- Problem 7: K Closest Points to Origin (Medium, 30 mins)
- Problem 8: Longest Substring Without Repeating Characters (Medium, 30 mins)
- Problem 9: 3Sum (Medium, 30 mins)
- Problem 10: Binary Tree Level Order Traversal (Medium, 20 mins)
- Problem 1: Clone Graph (Medium, 25 mins)
- Problem 2: Evaluate Reverse Polish Notation (Medium, 30 mins)
- Problem 3: Course Schedule (Medium, 30 mins)
- Problem 4: Implement Trie (Prefix Tree) (Medium, 35 mins)
- Problem 5: Coin Change (Medium, 25 mins)
- Problem 6: Product of Array Except Self (Medium, 30 mins)
- Problem 7: Min Stack (Medium, 20 mins)
- Problem 8: Validate Binary Search Tree (Medium, 20 mins)
- Problem 9: Number of Islands (Medium, 25 mins)
- Problem 1: Rotting Oranges (Medium, 30 mins)
- Problem 2: Search in Rotated Sorted Array (Medium, 30 mins)
- Problem 3: Combination Sum (Medium, 30 mins)
- Problem 4: Permutations (Medium, 30 mins)
- Problem 5: Merge Intervals (Medium, 30 mins)
- Problem 6: Lowest Common Ancestor of a Binary Tree (Medium, 25 mins)
- Problem 7: Time Based Key-Value Store (Medium, 35 mins)
- Problem 8: Accounts Merge (Medium, 30 mins)
- Problem 1: Sort Colors (Medium, 25 mins)
- Problem 2: Word Break (Medium, 30 mins)
- Problem 3: Partition Equal Subset Sum (Medium, 30 mins)
- Problem 4: Spiral Matrix (Medium, 25 mins)
- Problem 5: Subsets (Medium, 30 mins)
- Problem 6: Binary Tree Right Side View (Medium, 20 mins)
- Problem 7: Longest Palindromic Substring (Medium, 25 mins)
- Problem 8: Unique Paths (Medium, 20 mins)
- Problem 9: String to Integer (atoi) (Medium, 25 mins)
- Problem 1: Construct Binary Tree from Preorder and Inorder Traversal (Medium, 25 mins)
- Problem 2: Container With Most Water (Medium, 35 mins)
- Problem 3: Letter Combinations of a Phone Number (Medium, 30 mins)
- Problem 4: Word Search (Medium, 30 mins)
- Problem 5: Find All Anagrams in a String (Medium, 30 mins)
- Problem 6: Minimum Height Trees (Medium, 30 mins)
- Problem 7: Task Scheduler (Medium, 35 mins)
- Problem 1: LRU Cache (Medium, 30 mins)
- Problem 2: Kth Smallest Element in a BST (Medium, 25 mins)
- Problem 3: Daily Temperatures (Medium, 30 mins)
- Problem 4: House Robber (Medium, 25 mins)
- Problem 5: Gas Station (Medium, 30 mins)
- Problem 6: Next Permutation (Medium, 30 mins)
- Problem 7: Valid Sudoku (Medium, 35 mins)
- Problem 8: Group Anagrams (Medium, 25 mins)
- Problem 1: Maximum Product Subarray (Medium, 30 mins)
- Problem 2: Design Add and Search Words Data Structure (Medium, 35 mins)
- Problem 3: Pacific Atlantic Water Flow (Medium, 30 mins)
- Problem 4: Remove Nth Node From End of List (Medium, 20 mins)
- Problem 5: Shortest Path to Get Food (Medium, 30 mins)
- Problem 6: Find the Duplicate Number (Medium, 20 mins)
- Problem 7: Top K Frequent Words (Medium, 30 mins)
- Problem 8: Longest Increasing Subsequence (Medium, 30 mins)
- Problem 1: Graph Valid Tree (Medium, 30 mins)
- Problem 2: Course Schedule II (Medium, 35 mins)
- Problem 3: Swap Nodes in Pairs (Medium, 25 mins)
- Problem 4: Path Sum II (Medium, 25 mins)
- Problem 5: Longest Consecutive Sequence (Medium, 30 mins)
- Problem 6: Rotate Array (Medium, 25 mins)
- Problem 7: Odd Even Linked List (Medium, 25 mins)
- Problem 8: Decode String (Medium, 30 mins)
- Problem 1: Contiguous Array (Medium, 30 mins)
- Problem 2: Maximum Width of Binary Tree (Medium, 20 mins)
- Problem 3: Find K Closest Elements (Medium, 30 mins)
- Problem 4: Longest Repeating Character Replacement (Medium, 30 mins)
- Problem 5: Inorder Successor in BST (Medium, 30 mins)
- Problem 6: Jump Game (Medium, 20 mins)
- Problem 7: Add Two Numbers (Medium, 25 mins)
- Problem 8: Generate Parentheses (Medium, 25 mins)
- Problem 9: Sort List (Medium, 25 mins)
- Problem 1: Number of Connected Components in an Undirected Graph (Medium, 30 mins)
- Problem 2: Minimum Knight Moves (Medium, 35 mins)
- Problem 3: Subarray Sum Equals K (Medium, 35 mins)
- Problem 4: Asteroid Collision (Medium, 30 mins)
- Problem 5: Random Pick with Weight (Medium, 25 mins)
- Problem 6: Kth Largest Element in an Array (Medium, 30 mins)
- Problem 7: Maximal Square (Medium, 30 mins)
- Problem 8: Rotate Image (Medium, 25 mins)
- Problem 1: Binary Tree Zigzag Level Order Traversal (Medium, 25 mins)
- Problem 2: Design Hit Counter (Medium, 30 mins)
- Problem 3: Path Sum III (Medium, 35 mins)
- Problem 4: Pow(x, n) (Medium, 20 mins)
- Problem 5: Search a 2D Matrix (Medium, 30 mins)
- Problem 6: Largest Number (Medium, 20 mins)
- Problem 7: Decode Ways (Medium, 25 mins)
- Problem 8: Meeting Rooms II (Medium, 30 mins)
- Problem 9: Reverse Integer (Medium, 25 mins)
- Problem 1: Set Matrix Zeroes (Medium, 25 mins)
- Problem 2: Reorder List (Medium, 25 mins)
- Problem 3: Encode and Decode Strings (Medium, 25 mins)
- Problem 4: Cheapest Flights Within K Stops (Medium, 45 mins)
- Problem 5: All Nodes Distance K in Binary Tree (Medium, 25 mins)
- Problem 6: 3Sum Closest (Medium, 30 mins)
- Problem 7: Rotate List (Medium, 25 mins)
- Problem 8: Find Minimum in Rotated Sorted Array (Medium, 30 mins)
- Problem 1: Basic Calculator II (Medium, 30 mins)
- Problem 2: Combination Sum IV (Medium, 35 mins)
- Problem 3: Insert Delete GetRandom O(1) (Medium, 20 mins)
- Problem 4: Non-overlapping Intervals (Medium, 20 mins)
- Problem 5: Minimum Window Substring (Hard, 30 mins)
- Problem 6: Serialize and Deserialize Binary Tree (Hard, 40 mins)
- Problem 7: Trapping Rain Water (Hard, 35 mins)
- Problem 8: Find Median from Data Stream (Hard, 30 mins)
- Problem 1: Word Ladder (Hard, 45 mins)
- Problem 2: Basic Calculator (Hard, 40 mins)
- Problem 3: Maximum Profit in Job Scheduling (Hard, 45 mins)
- Problem 4: Merge k Sorted Lists (Hard, 30 mins)
- Problem 5: Largest Rectangle in Histogram (Hard, 35 mins)
- Problem 6: Binary Tree Maximum Path Sum (Hard, 35 mins)
- Problem 1: Maximum Frequency Stack (Hard, 40 mins)
- Problem 2: Median of Two Sorted Arrays (Hard, 40 mins)
- Problem 3: Longest Increasing Path in a Matrix (Hard, 40 mins)
- Problem 4: Longest Valid Parentheses (Hard, 35 mins)
- Problem 5: Design In-Memory File System (Hard, 40 mins)
- Problem 6: Employee Free Time (Hard, 35 mins)
- Problem 1: Word Search II (Hard, 40 mins)
- Problem 2: Alien Dictionary (Hard, 45 mins)
- Problem 3: Bus Routes (Hard, 45 mins)
- Problem 4: Sliding Window Maximum (Hard, 35 mins)
- Problem 5: Palindrome Pairs (Hard, 40 mins)
- Problem 6: Reverse Nodes in k-Group (Hard, 35 mins)
- Problem 1: Sudoku Solver (Hard, 40 mins)
- Problem 2: First Missing Positive (Hard, 35 mins)
- Problem 3: N-Queens (Hard, 40 mins)
- Problem 4: Smallest Range Covering Elements from K Lists (Hard, 40 mins)