{"id":19776473,"url":"https://github.com/oluwxtope/grind-75","last_synced_at":"2025-04-30T19:30:50.730Z","repository":{"id":41898453,"uuid":"500579110","full_name":"Oluwxtope/Grind-75","owner":"Oluwxtope","description":"My solutions to Grind 75 questions from https://www.techinterviewhandbook.org/grind75","archived":false,"fork":false,"pushed_at":"2022-06-28T20:17:12.000Z","size":72,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T04:11:36.304Z","etag":null,"topics":["algorithms-and-data-structures","grind-75","leetcode-python","leetcode-solutions"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Oluwxtope.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-06T20:10:42.000Z","updated_at":"2022-09-11T19:51:51.000Z","dependencies_parsed_at":"2022-09-05T13:30:46.567Z","dependency_job_id":null,"html_url":"https://github.com/Oluwxtope/Grind-75","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oluwxtope%2FGrind-75","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oluwxtope%2FGrind-75/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oluwxtope%2FGrind-75/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oluwxtope%2FGrind-75/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Oluwxtope","download_url":"https://codeload.github.com/Oluwxtope/Grind-75/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251769256,"owners_count":21640872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms-and-data-structures","grind-75","leetcode-python","leetcode-solutions"],"created_at":"2024-11-12T05:20:05.988Z","updated_at":"2025-04-30T19:30:50.381Z","avatar_url":"https://github.com/Oluwxtope.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Grind 75  \n\n## Table of Contents\n\n1. [Array](#1-array)\n   1. ~~[Two Sum](#1-two-sum)~~\n   2. ~~[Best Time to Buy and Sell Stock](#2-best-time-to-buy-and-sell-stock)~~\n   3. ~~[Majority Element](#3-majority-element)~~\n   4. ~~[Contains Duplicate](#4-contains-duplicate)~~\n   5. [Meeting Rooms](#5-meeting-rooms)\n   6. ~~[Move Zeroes](#6-move-zeroes)~~\n   7. [Squares of a Sorted Array](#7-squares-of-a-sorted-array)\n   8. ~~[Insert Interval](#8-insert-interval)~~\n   9. [3Sum](#9-3sum)\n   10. ~~[Product of Array Except Self](#10-product-of-array-except-self)~~\n   11. [Combination Sum](#11-combination-sum)\n   12. [Merge Intervals](#12-merge-intervals)\n   13. [Sort Colors](#13-sort-colors)\n   14. [Container With Most Water](#14-container-with-most-water)\n   15. [Gas Station](#15-gas-station)\n   16. [Longest Consecutive Sequence](#16-longest-consecutive-sequence)\n   17. [Rotate Array](#17-rotate-array)\n   18. [Contiguous Array](#18-contiguous-array)\n   19. [Subarray Sum Equals K](#19-subarray-sum-equals-k)\n   20. [Meeting Rooms II](#20-meeting-rooms-ii)\n   21. [3Sum Closest](#21-3sum-closest)\n   22. [Non-overlapping Intervals](#22-non-overlapping-intervals)\n   23. [Employee Free Time](#23-employee-free-time)\n   24. [Sliding Window Maximum](#24-sliding-window-maximum)\n2. [Stack](#2-stack)\n   1. ~~[Valid Parentheses](#1-valid-parentheses)~~\n   2. [Implement Queue using Stacks](#2-implement-queue-using-stacks)\n   3. [Min Stack](#3-min-stack)\n   4. [Backspace String Compare](#4-backspace-string-compare)\n   5. [Evaluate Reverse Polish Notation](#5-evaluate-reverse-polish-notation)\n   6. [Daily Temperatures](#6-daily-temperatures)\n   7. [Decode String](#7-decode-string)\n   8. [Asteroid Collision](#8-asteroid-collision)\n   9. [Basic Calculator II](#9-basic-calculator-ii)\n   10. [Trapping Rain Water](#10-trapping-rain-water)\n   11. [Basic Calculator](#11-basic-calculator)\n   12. [Largest Rectangle in Histogram](#12-largest-rectangle-in-histogram)\n   13. [Maximum Frequency Stack](#13-maximum-frequency-stack)\n   14. [Longest Valid Parentheses](#14-longest-valid-parentheses)\n3. [Linked List](#3-linked-list)\n   1. ~~[Merge Two Sorted Lists](#1-merge-two-sorted-lists)~~\n   2. [Linked List Cycle](#2-linked-list-cycle)\n   3. [Reverse Linked List](#3-reverse-linked-list)\n   4. [Middle of the Linked List](#4-middle-of-the-linked-list)\n   5. [Palindrome Linked List](#5-palindrome-linked-list)\n   6. [LRU Cache](#6-lru-cache)\n   7. [Remove Nth Node From End of List](#7-remove-nth-node-from-end-of-list)\n   8. [Swap Nodes in Pairs](#8-swap-nodes-in-pairs)\n   9. [Odd Even Linked List](#9-odd-even-linked-list)\n   10. [Add Two Numbers](#10-add-two-numbers)\n   11. [Sort List](#11-sort-list)\n   12. [Reorder List](#12-reorder-list)\n   13. [Rotate List](#13-rotate-list)\n   14. [Reverse Nodes in k-Group](#14-reverse-nodes-in-k-group)\n4. [String](#4-string)\n   1. ~~[Valid Palindrome](#1-valid-palindrome)~~\n   2. ~~[Valid Anagram](#2-valid-anagram)~~\n   3. [Longest Palindrome](#3-longest-palindrome)\n   4. [Longest Common Prefix](#4-longest-common-prefix)\n   5. [Longest Substring Without Repeating Characters](#5-longest-substring-without-repeating-characters)\n   6. [String to Integer (atoi)](#6-string-to-integer-(atoi))\n   7. [Longest Palindromic Substring](#7-longest-palindromic-substring)\n   8. [Find All Anagrams in a String](#8-find-all-anagrams-in-a-string)\n   9. [Group Anagrams](#9-group-anagrams)\n   10. [Longest Repeating Character Replacement](#10-longest-repeating-character-replacement)\n   11. [Largest Number](#11-largest-number)\n   12. [Encode and Decode Strings](#12-encode-and-decode-strings)\n   13. [Minimum Window Substring](#13-minimum-window-substring)\n   14. [Palindrome Pairs](#14-palindrome-pairs)\n5. [Binary Tree](#5-binary-tree)\n   1. [Invert Binary Tree](#1-invert-binary-tree)\n   2. [Balanced Binary Tree](#2-balanced-binary-tree)\n   3. [Diameter of Binary Tree](#3-diameter-of-binary-tree)\n   4. [Maximum Depth of Binary Tree](#4-maximum-depth-of-binary-tree)\n   5. [Same Tree](#5-same-tree)\n   6. [Symmetric Tree](#6-symmetric-tree)\n   7. [Subtree of Another Tree](#7-subtree-of-another-tree)\n   8. [Binary Tree Level Order Traversal](#8-binary-tree-level-order-traversal)\n   9. [Lowest Common Ancestor of a Binary Tree](#9-lowest-common-ancestor-of-a-binary-tree)\n   10. [Binary Tree Right Side View](#10-binary-tree-right-side-view)\n   11. [Construct Binary Tree from Preorder and Inorder Traversal](#11-construct-binary-tree-from-preorder-and-inorder-traversal)\n   12. [Path Sum II](#12-path-sum-ii)\n   13. [Maximum Width of Binary Tree](#13-maximum-width-of-binary-tree)\n   14. [Binary Tree Zigzag Level Order Traversal](#14-binary-tree-zigzag-level-order-traversal)\n   15. [Path Sum III](#15-path-sum-iii)\n   16. [All Nodes Distance K in Binary Tree](#16-all-nodes-distance-k-in-binary-tree)\n   17. [Serialize and Deserialize Binary Tree](#17-serialize-and-deserialize-binary-tree)\n   18. [Binary Tree Maximum Path Sum](#18-binary-tree-maximum-path-sum)\n6. [Binary Search](#6-binary-search)\n   1. [Binary Search](#1-binary-search)\n   2. [First Bad Version](#2-first-bad-version)\n   3. [Search in Rotated Sorted Array](#3-search-in-rotated-sorted-array)\n   4. [Time Based Key-Value Store](#4-time-based-key-value-store)\n   5. [Search a 2D Matrix](#5-search-a-2d-matrix)\n   6. [Find Minimum in Rotated Sorted Array](#6-find-minimum-in-rotated-sorted-array)\n   7. [Maximum Profit in Job Scheduling](#7-maximum-profit-in-job-scheduling)\n   8. [Median of Two Sorted Arrays](#8-median-of-two-sorted-arrays)\n7. [Graph](#7-graph)\n   1. [Flood Fill](#1-flood-fill)\n   2. [01 Matrix](#2-01-matrix)\n   3. [Clone Graph](#3-clone-graph)\n   4. [Course Schedule](#4-course-schedule)\n   5. [Number of Islands](#5-number-of-islands)\n   6. [Rotting Oranges](#6-rotting-oranges)\n   7. [Accounts Merge](#7-accounts-merge)\n   8. [Word Search](#8-word-search)\n   9. [Minimum Height Trees](#9-minimum-height-trees)\n   10. [Pacific Atlantic Water Flow](#10-pacific-atlantic-water-flow)\n   11. [Shortest Path to Get Food](#11-shortest-path-to-get-food)\n   12. [Graph Valid Tree](#12-graph-valid-tree)\n   13. [Course Schedule II](#13-course-schedule-ii)\n   14. [Number of Connected Components in an Undirected Graph](#14-number-of-connected-components-in-an-undirected-graph)\n   15. [Minimum Knight Moves](#15-minimum-knight-moves)\n   16. [Cheapest Flights Within K Stops](#16-cheapest-flights-within-k-stops)\n   17. [Word Ladder](#17-word-ladder)\n   18. [Longest Increasing Path in a Matrix](#18-longest-increasing-path-in-a-matrix)\n   19. [Word Search II](#19-word-search-ii)\n   20. [Alien Dictionary](#20-alien-dictionary)\n   21. [Bus Routes](#21-bus-routes)\n8. [Dynamic Programming](#8-dynamic-programming)\n   1. [Maximum Subarray](#1-maximum-subarray)\n   2. [Climbing Stairs](#2-climbing-stairs)\n   3. [Coin Change](#3-coin-change)\n   4. [Partition Equal Subset Sum](#4-partition-equal-subset-sum)\n   5. [Unique Paths](#5-unique-paths)\n   6. [House Robber](#6-house-robber)\n   7. [Maximum Product Subarray](#7-maximum-product-subarray)\n   8. [Longest Increasing Subsequence](#8-longest-increasing-subsequence)\n   9. [Jump Game](#9-jump-game)\n   10. [Maximal Square](#10-maximal-square)\n   11. [Decode Ways](#11-decode-ways)\n   12. [Combination Sum IV](#12-combination-sum-iv)\n9. [Binary Search Tree](#9-binary-search-tree)\n   1. [Lowest Common Ancestor of a Binary Search Tree](#1-lowest-common-ancestor-of-a-binary-search-tree)\n   2. [Convert Sorted Array to Binary Search Tree](#2-convert-sorted-array-to-binary-search-tree)\n   3. [Validate Binary Search Tree](#3-validate-binary-search-tree)\n   4. [Kth Smallest Element in a BST](#4-kth-smallest-element-in-a-bst)\n   5. [Inorder Successor in BST](#5-inorder-successor-in-bst)\n10. [Hash Table](#10-hash-table)\n    1.  [Ransom Note](#1-ransom-note)\n    2.  [Insert Delete GetRandom O(1)](#2-insert-delete-getrandom-o(1))\n    3.  [First Missing Positive](#3-first-missing-positive)\n11. [Binary](#11-binary)\n    1.  [Add Binary](#1-add-binary)\n    2.  [Counting Bits](#2-counting-bits)\n    3.  [Number of 1 Bits](#3-number-of-1-bits)\n    4.  [Single Number](#4-single-number)\n    5.  [Missing Number](#5-missing-number)\n    6.  [Reverse Bits](#6-reverse-bits)\n    7.  [Find the Duplicate Number](#7-find-the-duplicate-number)\n12. [Math](#12-math)\n    1.  [Roman to Integer](#1-roman-to-integer)\n    2.  [Palindrome Number](#2-palindrome-number)\n    3.  [Random Pick with Weight](#3-random-pick-with-weight)\n    4.  [Pow(x, n)](#4-pow(x,-n))\n    5.  [Reverse Integer](#5-reverse-integer)\n13. [Heap](#13-heap)\n    1.  [K Closest Points to Origin](#1-k-closest-points-to-origin)\n    2.  [Task Scheduler](#2-task-scheduler)\n    3.  [Top K Frequent Words](#3-top-k-frequent-words)\n    4.  [Find K Closest Elements](#4-find-k-closest-elements)\n    5.  [Kth Largest Element in an Array](#5-kth-largest-element-in-an-array)\n    6.  [Find Median from Data Stream](#6-find-median-from-data-stream)\n    7.  [Merge k Sorted Lists](#7-merge-k-sorted-lists)\n    8.  [Smallest Range Covering Elements from K Lists](#8-smallest-range-covering-elements-from-k-lists)\n14. [Trie](#14-trie)\n    1.  [Implement Trie (Prefix Tree)](#1-implement-trie-(prefix-tree))\n    2.  [Word Break](#2-word-break)\n    3.  [Design Add and Search Words Data Structure](#3-design-add-and-search-words-data-structure)\n    4.  [Design In-Memory File System](#4-design-in-memory-file-system)\n15. [Recursion](#15-recursion)\n    1.  [Permutations](#1-permutations)\n    2.  [Subsets](#2-subsets)\n    3.  [Letter Combinations of a Phone Number](#3-letter-combinations-of-a-phone-number)\n    4.  [Next Permutation](#4-next-permutation)\n    5.  [Generate Parentheses](#5-generate-parentheses)\n    6.  [N-Queens](#6-n-queens)\n16. [Matrix](#16-matrix)\n    1.  [Spiral Matrix](#1-spiral-matrix)\n    2.  [Valid Sudoku](#2-valid-sudoku)\n    3.  [Rotate Image](#3-rotate-image)\n    4.  [Set Matrix Zeroes](#4-set-matrix-zeroes)\n    5.  [Sudoku Solver](#5-sudoku-solver)\n17. [Queue](#17-queue)\n    1.  [Design Hit Counter](#1-design-hit-counter)\n\n## Array \u003ca name=\"1-array\"\u003e\u003c/a\u003e\n\n1. [Two Sum](https://github.com/Oluwxtope/Grind-75/blob/main/1-arrays/1-two-sum.py)\u003ca name=\"1-two-sum\"\u003e\u003c/a\u003e  \n    \u003e [Leetcode](https://leetcode.com/problems/two-sum/)  \n    Initialize hashmap with element as key and index as value. Iterate through array checking if target number minus current element in hashmap. If yes, return indexes of both elements from hashmap\n\n2. [Best Time to Buy and Sell Stock](https://github.com/Oluwxtope/Grind-75/blob/main/1-arrays/2-best-time-to-buy-and-sell-stock.py)\u003ca name=\"2-best-time-to-buy-and-sell-stock\"\u003e\u003c/a\u003e  \n    \u003e [Leetcode](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)  \n    Use sliding window to keep track of start index and end = start + 1 index. Keep track of max and current profit starting at 0. If end - start less than 0, update start to end and end to start + 1. Else, if end - start \u003e max profit, update max profit and move end to next element.\n\n3. [Majority Element](https://github.com/Oluwxtope/Grind-75/blob/main/1-arrays/3-majority-element.py)\u003ca name=\"3-majority-element\"\u003e\u003c/a\u003e  \n    \u003e [Leetcode](https://leetcode.com/problems/majority-element/)  \n    Use hashmap to keep count of how many times an element appears in array, then iterate over hashmap and return element with a count \u003e ceiling(n/2)  \n    More optimal solution would be using the Boyer-Moore algorithm. Initialize count to 0 and potential candidate to first element in array. Then increment or decrement count by iterating through the array and seeing if potential candidate is present or not. Once count reaches 0, change potential candidate to be present element. Return potential candidate left.\n\n4. [Contains Duplicate](https://github.com/Oluwxtope/Grind-75/blob/main/1-arrays/4-contains-duplicate.py)\u003ca name=\"4-contains-duplicate\"\u003e\u003c/a\u003e  \n    \u003e [Leetcode](https://leetcode.com/problems/contains-duplicate/)  \n    Use hashmap to keep count of how many times an element appears while iterating through the array. If current element already in hashmap, return true. If loop concludes, return false as no duplicate elements.\n\n5. Meeting Rooms\u003ca name=\"5-meeting-rooms\"\u003e\u003c/a\u003e  \n    \u003e [Leetcode](https://leetcode.com/problems/meeting-rooms/)  \n    *Premium leetcode required, didn't solve*\n\n6. [Move Zeroes](https://github.com/Oluwxtope/Grind-75/blob/main/1-arrays/6-move-zeroes.py)\u003ca name=\"6-move-zeroes\"\u003e\u003c/a\u003e  \n    \u003e [Leetcode](https://leetcode.com/problems/move-zeroes/)  \n    Use 2 pointers starting from indices 0 and 1. 3 scenarios possible: both pointers = 0, move right one until find nonzero then swap; left pointer at 0 and right at nonzero, swap. left pointer at nonzero and right at zero, move both pointers 1 down array.\n\n7. [Squares of a Sorted Array](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"7-squares-of-a-sorted-array\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/squares-of-a-sorted-array/)  \n    Yet to solve\n\n8. [Insert Interval](https://github.com/Oluwxtope/Grind-75/blob/main/1-arrays/8-insert-interval.py)\u003ca name=\"8-insert-interval\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/insert-interval/)  \n    Create an array to store result. Iterate through intervals and check for 3 scenarios: if last num in new interval less than first num in curr element, append new interval and return result + rest of intervals; if first num in new interval greater than last num in curr element, append curr element; if none of the above, there is overlap thus update new interval numbers and continue iterating. at the end, append new interval and return res (if new interval was inserted, result would have been returned in first scenario).\n\n9. [3Sum](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"9-3sum\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/3sum/)  \n    Yet to solve\n\n10. [Product of Array Except Self](https://github.com/Oluwxtope/Grind-75/blob/main/1-arrays/10-product-of-array-except-self.py)\u003ca name=\"10-product-of-array-except-self\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/product-of-array-except-self/)  \n    Initialize array to store results. Initialize prefix variable = 1. Start iterating through nums array and store the prefix in results array, then multiply prefix by current element before moving to next element. That way each index in the result array contains all numbers that came before that index in nums array multiplied. Repeat the same backwards with postfix that stores the suffix of numbers that came after the element. Return results array.\n\n11. [Combination Sum](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"11-combination-sum\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/combination-sum/)  \n    Yet to solve\n\n12. [Merge Intervals](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"12-merge-intervals\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/merge-intervals/)  \n    Yet to solve\n\n13. [Sort Colors](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"13-sort-colors\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/sort-colors/)  \n    Yet to solve\n\n14. [Container With Most Water](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"14-container-with-most-water\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/container-with-most-water/)  \n    Yet to solve\n\n15. [Gas Station](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"15-gas-station\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/gas-station/)  \n    Yet to solve\n\n16. [Longest Consecutive Sequence](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"16-longest-consecutive-sequence\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/longest-consecutive-sequence/)  \n    Yet to solve\n\n17. [Rotate Array](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"17-rotate-array\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/rotate-array/)  \n    Yet to solve\n\n18. [Contiguous Array](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"18-contiguous-array\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/contiguous-array/)  \n    Yet to solve\n\n19. [Subarray Sum Equals K](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"19-subarray-sum-equals-k\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/subarray-sum-equals-k/)  \n    Yet to solve\n\n20. [Meeting Rooms II](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"20-meeting-rooms-ii\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/meeting-rooms-ii/)  \n    Yet to solve\n\n21. [3Sum Closest](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"21-3sum-closest\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/3sum-closest/)  \n    Yet to solve\n\n22. [Non-overlapping Intervals](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"22-non-overlapping-intervals\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/non-overlapping-intervals/)  \n    Yet to solve\n\n23. [Employee Free Time](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"23-employee-free-time\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/employee-free-time/)  \n    Yet to solve\n\n24. [Sliding Window Maximum](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"24-sliding-window-maximum\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/sliding-window-maximum/)  \n    Yet to solve\n\n## Stack \u003ca name=\"2-stack\"\u003e\u003c/a\u003e\n\n1. [Valid Parentheses](https://github.com/Oluwxtope/Grind-75/blob/main/2-stack/1-valid-parentheses.py) \u003ca name=\"1-valid-parentheses\"\u003e\u003c/a\u003e  \n    \u003e [Leetcode](https://leetcode.com/problems/valid-parentheses/)  \n    Intialize hashmap matching all types of open brackets as keys to closing brackets as values. Then intialize stack adt using array, pushing opening brackets and only popping last one when you encounter a matching closing bracket. If array is empty, then all matching brackets are positioned in valid locations.\n\n2. [Implement Queue using Stacks](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-implement-queue-using-stacks\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/implement-queue-using-stacks/)  \n    Yet to solve\n\n3. [Min Stack](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-min-stack\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/min-stack/)  \n    Yet to solve\n\n4. [Backspace String Compare](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-backspace-string-compare\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/backspace-string-compare/)  \n    Yet to solve\n\n5. [Evaluate Reverse Polish Notation](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-evaluate-reverse-polish-notation\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/evaluate-reverse-polish-notation/)  \n    Yet to solve\n\n6. [Daily Temperatures](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"6-daily-temperatures\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/daily-temperatures/)  \n    Yet to solve\n\n7. [Decode String](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"7-decode-string\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/decode-string/)  \n    Yet to solve\n\n8. [Asteroid Collision](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"8-asteroid-collision\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/asteroid-collision/)  \n    Yet to solve\n\n9. [Basic Calculator II](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"9-basic-calculator-ii\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/basic-calculator-ii/)  \n    Yet to solve\n\n10. [Trapping Rain Water](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"10-trapping-rain-water\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/trapping-rain-water/)  \n    Yet to solve\n\n11. [Basic Calculator](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"11-basic-calculator\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/basic-calculator/)  \n    Yet to solve\n\n12. [Largest Rectangle in Histogram](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"12-largest-rectangle-in-histogram\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/largest-rectangle-in-histogram/)  \n    Yet to solve\n\n13. [Maximum Frequency Stack](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"13-maximum-frequency-stack\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/maximum-frequency-stack/)  \n    Yet to solve\n\n14. [Longest Valid Parentheses](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"14-longest-valid-parentheses\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/longest-valid-parentheses/)  \n    Yet to solve\n\n## Linked List \u003ca name=\"3-linked-list\"\u003e\u003c/a\u003e\n\n1. [Merge Two Sorted Lists](https://github.com/Oluwxtope/Grind-75/blob/main/3-linked-list/1-merge-two-sorted-lists.py) \u003ca name=\"1-merge-two-sorted-lists\"\u003e\u003c/a\u003e  \n    \u003e [Leetcode](https://leetcode.com/problems/merge-two-sorted-lists/)  \n    Initialize linkedlist called new and let a variable called prev point to it. Start while loop that checks if both lists 1 and 2 are not empty. 2 scenarios: val of curr node in list 1 less than that of 2 so let the next node of new be curr node of l1, and move to next node of l1; else, do the same for l2. Then set prev to next node of new and repeat. At end of loop, let prev.next equal to the non-empty list and return new.next as new.val is 0 and we started by changing new.next.\n\n2. [Linked List Cycle](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-linked-list-cycle\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/linked-list-cycle/)  \n    Yet to solve\n\n3. [Reverse Linked List](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-reverse-linked-list\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/reverse-linked-list/)  \n    Yet to solve\n\n4. [Middle of the Linked List](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-middle-of-the-linked-list\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/middle-of-the-linked-list/)  \n    Yet to solve\n\n5. [Palindrome Linked List](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-palindrome-linked-list\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/palindrome-linked-list/)  \n    Yet to solve\n\n6. [LRU Cache](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"6-lru-cache\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/lru-cache/)  \n    Yet to solve\n\n7. [Remove Nth Node From End of List](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"7-remove-nth-node-from-end-of-list\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/remove-nth-node-from-end-of-list/)  \n    Yet to solve\n\n8. [Swap Nodes in Pairs](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"8-swap-nodes-in-pairs\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/swap-nodes-in-pairs/)  \n    Yet to solve\n\n9. [Odd Even Linked List](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"9-odd-even-linked-list\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/odd-even-linked-list/)  \n    Yet to solve\n\n10. [Add Two Numbers](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"10-add-two-numbers\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/add-two-numbers/)  \n    Yet to solve\n\n11. [Sort List](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"11-sort-list\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/sort-list/)  \n    Yet to solve\n\n12. [Reorder List](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"12-reorder-list\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/reorder-list/)  \n    Yet to solve\n\n13. [Rotate List](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"13-rotate-list\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/rotate-list/)  \n    Yet to solve\n\n14. [Reverse Nodes in k-Group](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"14-reverse-nodes-in-k-group\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/reverse-nodes-in-k-group/)  \n    Yet to solve\n\n## String \u003ca name=\"4-string\"\u003e\u003c/a\u003e\n\n1. [Valid Palindrome](https://github.com/Oluwxtope/Grind-75/blob/main/4-string/1-valid-palindrome.py)\u003ca name=\"valid-palindrome\"\u003e\u003c/a\u003e  \n    \u003e [Leetcode](https://leetcode.com/problems/valid-palindrome/)  \n    Initalize start and end pointers on the array moving in opposite directions. If start and end pointing to alnum characters, check if they're equal (apply lowercase method) and return false if not else move pointers. If a pointer not pointing to alnum char, move the pointer. If loop finishes running, return true.\n\n2. [Valid Anagram](https://github.com/Oluwxtope/Grind-75/blob/main/4-string/2-valid-anagram.py)\u003ca name=\"valid-anagram\"\u003e\u003c/a\u003e  \n    \u003e [Leetcode](https://leetcode.com/problems/valid-anagram/)  \n    Initialize hash map to keep track of count of letters in first string, repeat for second string. Then iterate through both hash maps checking if a char is present in one and not the other or if count of characters in one not equal to count in other and return false. if all loops finish running, return true.\n\n3. [Longest Palindrome](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-longest-palindrome\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/longest-palindrome/)  \n    Yet to solve\n\n4. [Longest Common Prefix](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-longest-common-prefix\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/longest-common-prefix/)  \n    Yet to solve\n\n5. [Longest Substring Without Repeating Characters](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-longest-substring-without-repeating-characters\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/longest-substring-without-repeating-characters/)  \n    Yet to solve\n\n6. [String to Integer (atoi)](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"6-string-to-integer-(atoi)\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/string-to-integer-(atoi)/)  \n    Yet to solve\n\n7. [Longest Palindromic Substring](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"7-longest-palindromic-substring\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/longest-palindromic-substring/)  \n    Yet to solve\n\n8. [Find All Anagrams in a String](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"8-find-all-anagrams-in-a-string\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/find-all-anagrams-in-a-string/)  \n    Yet to solve\n\n9. [Group Anagrams](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"9-group-anagrams\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/group-anagrams/)  \n    Yet to solve\n\n10. [Longest Repeating Character Replacement](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"10-longest-repeating-character-replacement\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/longest-repeating-character-replacement/)  \n    Yet to solve\n\n11. [Largest Number](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"11-largest-number\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/largest-number/)  \n    Yet to solve\n\n12. [Encode and Decode Strings](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"12-encode-and-decode-strings\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/encode-and-decode-strings/)  \n    Yet to solve\n\n13. [Minimum Window Substring](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"13-minimum-window-substring\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/minimum-window-substring/)  \n    Yet to solve\n\n14. [Palindrome Pairs](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"14-palindrome-pairs\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/palindrome-pairs/)  \n    Yet to solve\n\n## Binary Tree \u003ca name=\"5-binary-tree\"\u003e\u003c/a\u003e\n\n1. [Invert Binary Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-invert-binary-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/invert-binary-tree/)  \n    Yet to solve\n\n2. [Balanced Binary Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-balanced-binary-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/balanced-binary-tree/)  \n    Yet to solve\n\n3. [Diameter of Binary Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-diameter-of-binary-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/diameter-of-binary-tree/)  \n    Yet to solve\n\n4. [Maximum Depth of Binary Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-maximum-depth-of-binary-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/maximum-depth-of-binary-tree/)  \n    Yet to solve\n\n5. [Same Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-same-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/same-tree/)  \n    Yet to solve\n\n6. [Symmetric Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"6-symmetric-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/symmetric-tree/)  \n    Yet to solve\n\n7. [Subtree of Another Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"7-subtree-of-another-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/subtree-of-another-tree/)  \n    Yet to solve\n\n8. [Binary Tree Level Order Traversal](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"8-binary-tree-level-order-traversal\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/binary-tree-level-order-traversal/)  \n    Yet to solve\n\n9. [Lowest Common Ancestor of a Binary Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"9-lowest-common-ancestor-of-a-binary-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/)  \n    Yet to solve\n\n10. [Binary Tree Right Side View](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"10-binary-tree-right-side-view\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/binary-tree-right-side-view/)  \n    Yet to solve\n\n11. [Construct Binary Tree from Preorder and Inorder Traversal](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"11-construct-binary-tree-from-preorder-and-inorder-traversal\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)  \n    Yet to solve\n\n12. [Path Sum II](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"12-path-sum-ii\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/path-sum-ii/)  \n    Yet to solve\n\n13. [Maximum Width of Binary Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"13-maximum-width-of-binary-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/maximum-width-of-binary-tree/)  \n    Yet to solve\n\n14. [Binary Tree Zigzag Level Order Traversal](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"14-binary-tree-zigzag-level-order-traversal\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)  \n    Yet to solve\n\n15. [Path Sum III](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"15-path-sum-iii\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/path-sum-iii/)  \n    Yet to solve\n\n16. [All Nodes Distance K in Binary Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"16-all-nodes-distance-k-in-binary-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/all-nodes-distance-k-in-binary-tree/)  \n    Yet to solve\n\n17. [Serialize and Deserialize Binary Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"17-serialize-and-deserialize-binary-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/)  \n    Yet to solve\n\n18. [Binary Tree Maximum Path Sum](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"18-binary-tree-maximum-path-sum\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/binary-tree-maximum-path-sum/)  \n    Yet to solve\n\n## Binary Search \u003ca name=\"6-binary-search\"\u003e\u003c/a\u003e\n\n1. [Binary Search](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-binary-search\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/binary-search/)  \n    Yet to solve\n\n2. [First Bad Version](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-first-bad-version\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/first-bad-version/)  \n    Yet to solve\n\n3. [Search in Rotated Sorted Array](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-search-in-rotated-sorted-array\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/search-in-rotated-sorted-array/)  \n    Yet to solve\n\n4. [Time Based Key-Value Store](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-time-based-key-value-store\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/time-based-key-value-store/)  \n    Yet to solve\n\n5. [Search a 2D Matrix](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-search-a-2d-matrix\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/search-a-2d-matrix/)  \n    Yet to solve\n\n6. [Find Minimum in Rotated Sorted Array](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"6-find-minimum-in-rotated-sorted-array\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/)  \n    Yet to solve\n\n7. [Maximum Profit in Job Scheduling](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"7-maximum-profit-in-job-scheduling\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/maximum-profit-in-job-scheduling/)  \n    Yet to solve\n\n8. [Median of Two Sorted Arrays](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"8-median-of-two-sorted-arrays\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/median-of-two-sorted-arrays/)  \n    Yet to solve\n\n## Graph \u003ca name=\"7-graph\"\u003e\u003c/a\u003e\n\n1. [Flood Fill](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-flood-fill\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/flood-fill/)  \n    Yet to solve\n\n2. [01 Matrix](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-01-matrix\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/01-matrix/)  \n    Yet to solve\n\n3. [Clone Graph](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-clone-graph\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/clone-graph/)  \n    Yet to solve\n\n4. [Course Schedule](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-course-schedule\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/course-schedule/)  \n    Yet to solve\n\n5. [Number of Islands](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-number-of-islands\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/number-of-islands/)  \n    Yet to solve\n\n6. [Rotting Oranges](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"6-rotting-oranges\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/rotting-oranges/)  \n    Yet to solve\n\n7. [Accounts Merge](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"7-accounts-merge\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/accounts-merge/)  \n    Yet to solve\n\n8. [Word Search](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"8-word-search\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/word-search/)  \n    Yet to solve\n\n9. [Minimum Height Trees](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"9-minimum-height-trees\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/minimum-height-trees/)  \n    Yet to solve\n\n10. [Pacific Atlantic Water Flow](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"10-pacific-atlantic-water-flow\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/pacific-atlantic-water-flow/)  \n    Yet to solve\n\n11. [Shortest Path to Get Food](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"11-shortest-path-to-get-food\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/shortest-path-to-get-food/)  \n    Yet to solve\n\n12. [Graph Valid Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"12-graph-valid-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/graph-valid-tree/)  \n    Yet to solve\n\n13. [Course Schedule II](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"13-course-schedule-ii\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/course-schedule-ii/)  \n    Yet to solve\n\n14. [Number of Connected Components in an Undirected Graph](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"14-number-of-connected-components-in-an-undirected-graph\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/number-of-connected-components-in-an-undirected-graph/)  \n    Yet to solve\n\n15. [Minimum Knight Moves](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"15-minimum-knight-moves\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/minimum-knight-moves/)  \n    Yet to solve\n\n16. [Cheapest Flights Within K Stops](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"16-cheapest-flights-within-k-stops\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/cheapest-flights-within-k-stops/)  \n    Yet to solve\n\n17. [Word Ladder](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"17-word-ladder\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/word-ladder/)  \n    Yet to solve\n\n18. [Longest Increasing Path in a Matrix](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"18-longest-increasing-path-in-a-matrix\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/)  \n    Yet to solve\n\n19. [Word Search II](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"19-word-search-ii\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/word-search-ii/)  \n    Yet to solve\n\n20. [Alien Dictionary](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"20-alien-dictionary\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/alien-dictionary/)  \n    Yet to solve\n\n21. [Bus Routes](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"21-bus-routes\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/bus-routes/)  \n    Yet to solve\n\n## Dynamic Programming \u003ca name=\"8-dynamic-programming\"\u003e\u003c/a\u003e\n\n1. [Maximum Subarray](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-maximum-subarray\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/maximum-subarray/)  \n    Yet to solve\n\n2. [Climbing Stairs](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-climbing-stairs\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/climbing-stairs/)  \n    Yet to solve\n\n3. [Coin Change](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-coin-change\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/coin-change/)  \n    Yet to solve\n\n4. [Partition Equal Subset Sum](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-partition-equal-subset-sum\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/partition-equal-subset-sum/)  \n    Yet to solve\n\n5. [Unique Paths](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-unique-paths\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/unique-paths/)  \n    Yet to solve\n\n6. [House Robber](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"6-house-robber\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/house-robber/)  \n    Yet to solve\n\n7. [Maximum Product Subarray](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"7-maximum-product-subarray\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/maximum-product-subarray/)  \n    Yet to solve\n\n8. [Longest Increasing Subsequence](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"8-longest-increasing-subsequence\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/longest-increasing-subsequence/)  \n    Yet to solve\n\n9. [Jump Game](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"9-jump-game\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/jump-game/)  \n    Yet to solve\n\n10. [Maximal Square](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"10-maximal-square\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/maximal-square/)  \n    Yet to solve\n\n11. [Decode Ways](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"11-decode-ways\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/decode-ways/)  \n    Yet to solve\n\n12. [Combination Sum IV](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"12-combination-sum-iv\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/combination-sum-iv/)  \n    Yet to solve\n\n## Binary Search Tree \u003ca name=\"9-binary-search-tree\"\u003e\u003c/a\u003e\n\n1. [Lowest Common Ancestor of a Binary Search Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-lowest-common-ancestor-of-a-binary-search-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)  \n    Yet to solve\n\n2. [Convert Sorted Array to Binary Search Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-convert-sorted-array-to-binary-search-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/)  \n    Yet to solve\n\n3. [Validate Binary Search Tree](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-validate-binary-search-tree\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/validate-binary-search-tree/)  \n    Yet to solve\n\n4. [Kth Smallest Element in a BST](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-kth-smallest-element-in-a-bst\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)  \n    Yet to solve\n\n5. [Inorder Successor in BST](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-inorder-successor-in-bst\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/inorder-successor-in-bst/)  \n    Yet to solve\n\n## Hash Table \u003ca name=\"10-hash-table\"\u003e\u003c/a\u003e\n\n1. [Ransom Note](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-ransom-note\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/ransom-note/)  \n    Yet to solve\n\n2. [Insert Delete GetRandom O(1)](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-insert-delete-getrandom-o(1)\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/insert-delete-getrandom-o(1)/)  \n    Yet to solve\n\n3. [First Missing Positive](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-first-missing-positive\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/first-missing-positive/)  \n    Yet to solve\n\n## Binary \u003ca name=\"11-binary\"\u003e\u003c/a\u003e\n\n1. [Add Binary](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-add-binary\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/add-binary/)  \n    Yet to solve\n\n2. [Counting Bits](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-counting-bits\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/counting-bits/)  \n    Yet to solve\n\n3. [Number of 1 Bits](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-number-of-1-bits\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/number-of-1-bits/)  \n    Yet to solve\n\n4. [Single Number](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-single-number\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/single-number/)  \n    Yet to solve\n\n5. [Missing Number](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-missing-number\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/missing-number/)  \n    Yet to solve\n\n6. [Reverse Bits](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"6-reverse-bits\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/reverse-bits/)  \n    Yet to solve\n\n7. [Find the Duplicate Number](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"7-find-the-duplicate-number\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/find-the-duplicate-number/)  \n    Yet to solve\n\n## Math \u003ca name=\"12-math\"\u003e\u003c/a\u003e\n\n1. [Roman to Integer](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-roman-to-integer\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/roman-to-integer/)  \n    Yet to solve\n\n2. [Palindrome Number](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-palindrome-number\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/palindrome-number/)  \n    Yet to solve\n\n3. [Random Pick with Weight](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-random-pick-with-weight\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/random-pick-with-weight/)  \n    Yet to solve\n\n4. [Pow(x, n)](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-pow(x,-n)\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/pow(x,-n)/)  \n    Yet to solve\n\n5. [Reverse Integer](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-reverse-integer\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/reverse-integer/)  \n    Yet to solve\n\n## Heap \u003ca name=\"13-heap\"\u003e\u003c/a\u003e\n\n1. [K Closest Points to Origin](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-k-closest-points-to-origin\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/k-closest-points-to-origin/)  \n    Yet to solve\n\n2. [Task Scheduler](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-task-scheduler\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/task-scheduler/)  \n    Yet to solve\n\n3. [Top K Frequent Words](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-top-k-frequent-words\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/top-k-frequent-words/)  \n    Yet to solve\n\n4. [Find K Closest Elements](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-find-k-closest-elements\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/find-k-closest-elements/)  \n    Yet to solve\n\n5. [Kth Largest Element in an Array](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-kth-largest-element-in-an-array\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/kth-largest-element-in-an-array/)  \n    Yet to solve\n\n6. [Find Median from Data Stream](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"6-find-median-from-data-stream\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/find-median-from-data-stream/)  \n    Yet to solve\n\n7. [Merge k Sorted Lists](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"7-merge-k-sorted-lists\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/merge-k-sorted-lists/)  \n    Yet to solve\n\n8. [Smallest Range Covering Elements from K Lists](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"8-smallest-range-covering-elements-from-k-lists\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/smallest-range-covering-elements-from-k-lists/)  \n    Yet to solve\n\n## Trie \u003ca name=\"14-trie\"\u003e\u003c/a\u003e\n\n1. [Implement Trie (Prefix Tree)](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-implement-trie-(prefix-tree)\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/implement-trie-(prefix-tree)/)  \n    Yet to solve\n\n2. [Word Break](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-word-break\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/word-break/)  \n    Yet to solve\n\n3. [Design Add and Search Words Data Structure](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-design-add-and-search-words-data-structure\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/design-add-and-search-words-data-structure/)  \n    Yet to solve\n\n4. [Design In-Memory File System](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-design-in-memory-file-system\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/design-in-memory-file-system/)  \n    Yet to solve\n\n## Recursion \u003ca name=\"15-recursion\"\u003e\u003c/a\u003e\n\n1. [Permutations](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-permutations\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/permutations/)  \n    Yet to solve\n\n2. [Subsets](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-subsets\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/subsets/)  \n    Yet to solve\n\n3. [Letter Combinations of a Phone Number](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-letter-combinations-of-a-phone-number\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/letter-combinations-of-a-phone-number/)  \n    Yet to solve\n\n4. [Next Permutation](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-next-permutation\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/next-permutation/)  \n    Yet to solve\n\n5. [Generate Parentheses](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-generate-parentheses\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/generate-parentheses/)  \n    Yet to solve\n\n6. [N-Queens](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"6-n-queens\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/n-queens/)  \n    Yet to solve\n\n## Matrix \u003ca name=\"16-matrix\"\u003e\u003c/a\u003e\n\n1. [Spiral Matrix](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-spiral-matrix\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/spiral-matrix/)  \n    Yet to solve\n\n2. [Valid Sudoku](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"2-valid-sudoku\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/valid-sudoku/)  \n    Yet to solve\n\n3. [Rotate Image](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"3-rotate-image\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/rotate-image/)  \n    Yet to solve\n\n4. [Set Matrix Zeroes](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"4-set-matrix-zeroes\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/set-matrix-zeroes/)  \n    Yet to solve\n\n5. [Sudoku Solver](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"5-sudoku-solver\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/sudoku-solver/)  \n    Yet to solve\n\n## Queue \u003ca name=\"17-queue\"\u003e\u003c/a\u003e\n\n1. [Design Hit Counter](https://github.com/Oluwxtope/Grind-75/blob/main/)\u003ca name=\"1-design-hit-counter\"\u003e\u003c/a\u003e\n    \u003e [Leetcode](https://leetcode.com/problems/design-hit-counter/)  \n    Yet to solve","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foluwxtope%2Fgrind-75","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foluwxtope%2Fgrind-75","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foluwxtope%2Fgrind-75/lists"}