{"id":21653774,"url":"https://github.com/aadewunmi/grokking-the-coding-interview-patterns-for-coding-questions","last_synced_at":"2025-03-20T04:33:14.722Z","repository":{"id":239733781,"uuid":"800402443","full_name":"AAdewunmi/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions","owner":"AAdewunmi","description":"Grokking the Coding Interview Patterns for Coding Questions","archived":false,"fork":false,"pushed_at":"2024-05-19T12:52:42.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-05-19T14:23:03.141Z","etag":null,"topics":["algorithms","algorithms-and-data-structures","coding-interview","coding-interview-questions","data-structures","grokking-algorithms","grokking-algorithms-in-java","grokking-coding-interview","interview-preparation","java"],"latest_commit_sha":null,"homepage":"https://www.designgurus.io/course-play/grokking-the-coding-interview/doc/63afd6338d316e91ad9fc027","language":"Java","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/AAdewunmi.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-14T09:09:20.000Z","updated_at":"2024-05-20T16:22:14.124Z","dependencies_parsed_at":"2024-05-20T16:22:13.874Z","dependency_job_id":"c811b69a-ace5-45a7-b343-f9d0d426f924","html_url":"https://github.com/AAdewunmi/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions","commit_stats":null,"previous_names":["aadewunmi/grokking-the-coding-interview-patterns-for-coding-questions"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AAdewunmi%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AAdewunmi%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AAdewunmi%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AAdewunmi%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AAdewunmi","download_url":"https://codeload.github.com/AAdewunmi/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244553177,"owners_count":20471166,"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","algorithms-and-data-structures","coding-interview","coding-interview-questions","data-structures","grokking-algorithms","grokking-algorithms-in-java","grokking-coding-interview","interview-preparation","java"],"created_at":"2024-11-25T08:20:35.386Z","updated_at":"2025-03-20T04:33:14.716Z","avatar_url":"https://github.com/AAdewunmi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Title:\n\nGrokking the Coding Interview Patterns: Includes Topic Tutorials Plus LeetCode Questions \u0026 Solutions in JAVA ☕️ ... In addition, I've included Practice Questions Curated By LeetCode.\n\n\n## 1. Project Description:\n\nThis repository contains topic tutorials on \"must know\" coding interview patterns, their associated LeetCode questions \nand solutions in Java programming language. It is based on \"Grokking the Coding Interview: Patterns for Coding Questions\" \nby Design Gurus. \n\nEach section is structured as follows:\n    \n    * Bitwise XOR\n\n        L Bitwise_XOR_Tutorial.txt (What is Bitwise XOR (exclusive OR)?)\n        \n        L Problem_1_Single_Number.java (LeetCode Question: 136. Single Number)\n\n        L Problem_2_Two_Single_Numbers.java (LeetCode Question: 260. Single Number III)\n\n        L Problem_3_Complement_Of_Base_10_Number.java (LeetCode Question: 1009. Complement of Base 10 Integer)\n\n        L Problem_4_Flip_And_Invert_An_Image.java (LeetCode Question: 832. Flipping an Image)\n\n\n## 2. Prerequisites:\n\nBefore solving Leetcode problems, make sure you are familiar with the following:\n\n    * Fundermentals of programming in Java Language\n    \n    * Collections in Java \n        \n        L Interfaces: Set, List, Queue, Deque \n\n        L Classes: ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet, etc.\n\n    * Data Structures and Algorithms in Java\n\n        L Data Structure: Stack, Queue, Graph, Tree, etc.\n\n        L Algorithms: Sorting, Searching, etc\n\n\n## 3. Outline:\n\nCoding Interview Patterns are classified according to skills level:\n\n#### * Fundamental:\n\n[1. Two Pointers ](src/Two_Pointers)\n    \n[2. Fast And Slow Pointers ](src/Fast_And_Slow_Pointers)\n    \n[3. Sliding Window ](src/Sliding_Window)\n    \n[4. Merge Intervals ](src/Merge_Intervals)\n    \n[5. Cyclic Sort ](src/Cyclic_Sort)\n    \n[6. LinkedList - In-Place Reversal ](src/LinkedList_In_Place_Traversal)\n    \n[7. Stack ](src/Stack)\n    \n[8. Island Pattern (Matrix Traversal) ](src/Island_Matrix_Traversal)\n\n[9. Prefix Sum ](src/Prefix_Sum)\n\n#### * Intermediate:\n\n[1. Hash Map ](src/HashMap_HashTable)\n\n[2. Tree - Breadth First Search ](src/Tree_Breadth_First_Search)\n\n[3. Tree - Depth First Search ](src/Tree_Depth_First_Search)\n\n[4. Graph ](src/Graph)\n\n[5. Heap ](src/Heap)\n\n[6. Modified Binary Search ](src/Modified_Binary_Search)\n\n[7. Top K Elements ](src/Top_K_Elements)\n\n[8. K Way Merge ](src/K_Way_Merge)\n\n[9. Greedy Algorithm ](src/Greedy_Algorithm)\n\n[10. Concurrency ](src/Concurrency)\n\n#### * Advanced:\n\n[1. Monotonic Stack ](src/Monotonic_Stack)\n\n[2. Subsets ](src/Subsets)\n\n[3. Bitwise XOR ](src/Bitwise_XOR)\n\n[4. Dynamic Programming ](src/Dynamic_Programming)\n\n\n- [4a. 0/1 Knapsack ](src/Dynamic_Programming/_1_0_Knapsack)\n\n- [4b. Unbounded Knapsack ](src/Dynamic_Programming/Unbounded_Knapsack)\n\n- [4c. Fibonacci Numbers ](src/Dynamic_Programming/Fibonacci_Numbers)\n\n- [4d. Palindromic Subsequence ](src/Dynamic_Programming/Palindromic_Subsequence)\n\n- [4e. Longest Common Sub-String ](src/Dynamic_Programming/Longest_Common_SubString)\n\n\n[5. Backtracking ](src/Backtracking)\n\n[6. Trie ](src/Trie)\n\n[7. Topological Sort ](src/Topological_Sort)\n\n[8. Union Find (Disjoint-Set Data Structure) ](src/Union_Find)\n\n[9. Ordered Set ](src/Ordered_Set)\n\n\n## 4. Coding Interview Preparation Roadmaps:\n\n\n#### (a) AlgoMaster Roadmap:\n\n\n    Below is a visual representation of the three main pillars that make up Data Structures and Algorithms \n    for Coding Interview's i.e. Data Structures, Algorithms, and Problem-Solving Techniques. \n    It demonstrates the relationship between these three pillar's of Computer Science knowledge.\n\n\n![download](https://github.com/user-attachments/assets/ef9fff3a-b37f-43b1-aae5-013a2c9fdaf9)\n\n\n*Reproduced from \"How I Mastered Data Structures and Algorithms\" By Ashish Pratap Singh* \n\n*URL: https://blog.algomaster.io/p/15-leetcode-patterns*\n\n\n--------------------------------------------------------\n\n\n#### (b) Neetcode Roadmap:\n\n    Neetcode Roadmap: This is a structured approach to preparing for technical interviews, particularly \n    for software engineering roles. It was created by NeetCode, a popular YouTube channel and website \n    that offers a variety of resources for coding interview preparation. The roadmap is designed to help \n    candidates tackle common interview topics in a systematic and comprehensive way.\n\n\n![Screenshot 2024-11-12 at 14 26 01](https://github.com/user-attachments/assets/a15247b6-ae3d-441a-b4b4-2609d9cfbeea)\n\n\n*Reproduced from \"Neetcode Roadmap\"* \n\n*URL: https://neetcode.io/roadmap*\n\n\n## 5. Leetcode Practice Questions (Curated By Leetcode):\n\nThought I'd include a list of practice questions under known headings.\n\n1. [Two Pointers (215 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/two-pointers/)\n\n2. [Sliding Window (146 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/sliding-window/)\n\n3. [Prefix Sum (196 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/prefix-sum/)\n\n4. [Hash Table (679 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/hash-table/)\n\n5. [Counting (157 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/counting/)\n\n6. [Linked List (79 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/linked-list/)\n\n7. [Doubly-Linked List (11 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/doubly-linked-list/)\n\n8. [Stack (167 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/stack/)\n\n9. [Queue (47 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/queue/)\n\n10. [Monotonic Stack (19 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/monotonic-stack/)\n\n11. [Monotonic Queue (48 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/monotonic-queue/)\n\n12. [Binary Tree (176 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/binary-tree/)\n\n13. [Binary Search Tree (40 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/binary-search-tree/)\n\n14. [Graph (159 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/graph/)\n\n15. [Breadth-First Search (Tree \u0026 Graph) (240 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/breadth-first-search/)\n\n16. [Depth-First Search (Tree \u0026 Graph) (314 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/depth-first-search/)\n\n17. [Heap (Priority Queue) (190 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/heap-priority-queue/)\n\n18. [Greedy (406 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/greedy/)\n\n19. [Binary Search (302 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/binary-search/)\n\n20. [Backtracking (107 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/backtracking/)\n\n21. [Dynamic Programming (571 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/dynamic-programming/)\n\n22. [Trie (56 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/trie/)\n\n23. [Bitmask (49 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/bitmask/)\n\n24. [Bit Manipulation (233 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/bit-manipulation/)\n\n25. [Math (563 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/math/)\n\n```\nThe questions below are less likely to appear in a technical test, but they're still good to practice 💪\n```\n\n1. [Union Find (85 Questions [Easy, Medium, Hard])](https://leetcode.com/problem-list/union-find/)\n\n2. [Topological Sort (11 Questions [Medium, Hard])](https://leetcode.com/problem-list/topological-sort/)\n\n3. [Quickselect (7 Questions [Medium])](https://leetcode.com/problem-list/quickselect/)\n\n4. [Radix sort (3 Questions [Medium])](https://leetcode.com/problem-list/radix-sort/)\n\n5. [Minimum spanning tree (Kruskal's) (5 Questions [Medium, Hard])](https://leetcode.com/problem-list/minimum-spanning-tree/)\n\n\n## 6. Installation:\n\ni. Clone the git repo\n\n```\nhttps://github.com/AAdewunmi/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions.git\n```\n\nii. Open project folder\n\niii. Explore\n\n😎\n\n\n## 7. Resources:\n\nI acknowledge the use of LeetCode for coding interview questions 👨‍💻, OpenAI's ChatGPT for topic explanation and solutions to coding questions 🤖.\n\n\n## 8. Contributing:\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\n\n## 9. Adapted from: \n\nProject Name: \"Grokking the Coding Interview: Patterns for Coding Questions\" \n\nCreated by: Design Gurus (2024).\n\nURL: https://www.designgurus.io/course-play/grokking-the-coding-interview/doc/63afd6338d316e91ad9fc027\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faadewunmi%2Fgrokking-the-coding-interview-patterns-for-coding-questions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faadewunmi%2Fgrokking-the-coding-interview-patterns-for-coding-questions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faadewunmi%2Fgrokking-the-coding-interview-patterns-for-coding-questions/lists"}