You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tech-interview-handbook/contents/_components/QuestionGroups.json

844 lines
22 KiB

{
"Week 1": [
{
"slug": "two-sum",
"title": "Two Sum",
"url": "https://leetcode.com/problems/two-sum",
"duration": 15,
"epi": null,
"difficulty": "Easy",
"id": 1,
"topic": "array",
"routines": ["hashing"]
},
{
"slug": "valid-parentheses",
"title": "Valid Parentheses",
"url": "https://leetcode.com/problems/valid-parentheses",
"duration": 20,
"epi": 3,
"difficulty": "Easy",
"id": 20,
"topic": "stack",
"routines": []
},
{
"slug": "merge-two-sorted-lists",
"title": "Merge Two Sorted Lists",
"url": "https://leetcode.com/problems/merge-two-sorted-lists",
"duration": 20,
"epi": 0,
"difficulty": "Easy",
"id": 21,
"topic": "linked-list",
"routines": []
},
{
"slug": "best-time-to-buy-and-sell-stock",
"title": "Best Time to Buy and Sell Stock",
"url": "https://leetcode.com/problems/best-time-to-buy-and-sell-stock",
"duration": 20,
"epi": 0,
"difficulty": "Easy",
"id": 121,
"topic": "array",
"routines": []
},
{
"slug": "valid-palindrome",
"title": "Valid Palindrome",
"url": "https://leetcode.com/problems/valid-palindrome",
"duration": 15,
"epi": 2,
"difficulty": "Easy",
"id": 125,
"topic": "string",
"routines": ["palindrome"]
},
{
"slug": "invert-binary-tree",
"title": "Invert Binary Tree",
"url": "https://leetcode.com/problems/invert-binary-tree",
"duration": 15,
"epi": null,
"difficulty": "Easy",
"id": 226,
"topic": "binary-tree",
"routines": []
},
{
"slug": "valid-anagram",
"title": "Valid Anagram",
"url": "https://leetcode.com/problems/valid-anagram",
"duration": 15,
"epi": null,
"difficulty": "Easy",
"id": 242,
"topic": "string",
"routines": ["anagram"]
},
{
"slug": "binary-search",
"title": "Binary Search",
"url": "https://leetcode.com/problems/binary-search",
"duration": 15,
"epi": null,
"difficulty": "Easy",
"id": 792,
"topic": "binary-search",
"routines": []
},
{
"slug": "flood-fill",
"title": "Flood Fill",
"url": "https://leetcode.com/problems/flood-fill",
"duration": 20,
"epi": 2,
"difficulty": "Easy",
"id": 733,
"topic": "graph",
"routines": ["matrix", "depth-first-search"]
},
{
"slug": "maximum-subarray",
"title": "Maximum Subarray",
"url": "https://leetcode.com/problems/maximum-subarray",
"duration": 20,
"epi": null,
"difficulty": "Easy",
"id": 53,
"topic": "dynamic-programming",
"routines": []
},
{
"slug": "lowest-common-ancestor-of-a-binary-search-tree",
"title": "Lowest Common Ancestor of a Binary Search Tree",
"url": "https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree",
"duration": 20,
"epi": 1,
"difficulty": "Easy",
"id": 235,
"topic": "binary-search-tree",
"routines": []
},
{
"slug": "balanced-binary-tree",
"title": "Balanced Binary Tree",
"url": "https://leetcode.com/problems/balanced-binary-tree",
"duration": 15,
"epi": 0,
"difficulty": "Easy",
"id": 110,
"topic": "binary-tree",
"routines": []
},
{
"slug": "linked-list-cycle",
"title": "Linked List Cycle",
"url": "https://leetcode.com/problems/linked-list-cycle",
"duration": 20,
"epi": 1,
"difficulty": "Easy",
"id": 141,
"topic": "linked-list",
"routines": ["two-pointers"]
}
],
"Week 2": [
{
"slug": "implement-queue-using-stacks",
"title": "Implement Queue using Stacks",
"url": "https://leetcode.com/problems/implement-queue-using-stacks",
"duration": 20,
"epi": 3,
"difficulty": "Easy",
"id": 232,
"topic": "stack",
"routines": []
},
{
"slug": "first-bad-version",
"title": "First Bad Version",
"url": "https://leetcode.com/problems/first-bad-version",
"duration": 20,
"epi": null,
"difficulty": "Easy",
"id": 278,
"topic": "binary-search",
"routines": []
},
{
"slug": "ransom-note",
"title": "Ransom Note",
"url": "https://leetcode.com/problems/ransom-note",
"duration": 15,
"epi": 0,
"difficulty": "Easy",
"id": 383,
"topic": "hash-table",
"routines": []
},
{
"slug": "climbing-stairs",
"title": "Climbing Stairs",
"url": "https://leetcode.com/problems/climbing-stairs",
"duration": 20,
"epi": null,
"difficulty": "Easy",
"id": 70,
"topic": "dynamic-programming",
"routines": []
},
{
"slug": "longest-palindrome",
"title": "Longest Palindrome",
"url": "https://leetcode.com/problems/longest-palindrome",
"duration": 20,
"epi": 2,
"difficulty": "Easy",
"id": 409,
"topic": "string",
"routines": ["palindrome"]
},
{
"slug": "reverse-linked-list",
"title": "Reverse Linked List",
"url": "https://leetcode.com/problems/reverse-linked-list",
"duration": 20,
"epi": 1,
"difficulty": "Easy",
"id": 206,
"topic": "linked-list",
"routines": []
},
{
"slug": "majority-element",
"title": "Majority Element",
"url": "https://leetcode.com/problems/majority-element",
"duration": 20,
"epi": 2,
"difficulty": "Easy",
"id": 169,
"topic": "array",
"routines": ["sorting"]
},
{
"slug": "add-binary",
"title": "Add Binary",
"url": "https://leetcode.com/problems/add-binary",
"duration": 15,
"epi": null,
"difficulty": "Easy",
"id": 67,
"topic": "binary",
"routines": []
},
{
"slug": "diameter-of-binary-tree",
"title": "Diameter of Binary Tree",
"url": "https://leetcode.com/problems/diameter-of-binary-tree",
"duration": 30,
"epi": null,
"difficulty": "Easy",
"id": 543,
"topic": "binary-tree",
"routines": []
},
{
"slug": "middle-of-the-linked-list",
"title": "Middle of the Linked List",
"url": "https://leetcode.com/problems/middle-of-the-linked-list",
"duration": 20,
"epi": null,
"difficulty": "Easy",
"id": 908,
"topic": "linked-list",
"routines": ["two-pointers"]
},
{
"slug": "maximum-depth-of-binary-tree",
"title": "Maximum Depth of Binary Tree",
"url": "https://leetcode.com/problems/maximum-depth-of-binary-tree",
"duration": 15,
"epi": null,
"difficulty": "Easy",
"id": 104,
"topic": "binary-tree",
"routines": []
},
{
"slug": "contains-duplicate",
"title": "Contains Duplicate",
"url": "https://leetcode.com/problems/contains-duplicate",
"duration": 15,
"epi": null,
"difficulty": "Easy",
"id": 217,
"topic": "array",
"routines": ["hash-table", "sorting"]
}
],
"Week 3": [
{
"slug": "min-stack",
"title": "Min Stack",
"url": "https://leetcode.com/problems/min-stack",
"duration": 20,
"epi": 0,
"difficulty": "Medium",
"id": 155,
"topic": "stack",
"routines": []
},
{
"slug": "insert-interval",
"title": "Insert Interval",
"url": "https://leetcode.com/problems/insert-interval",
"duration": 25,
"epi": null,
"difficulty": "Medium",
"id": 57,
"topic": "array",
"routines": ["interval"]
},
{
"slug": "01-matrix",
"title": "01 Matrix",
"url": "https://leetcode.com/problems/01-matrix",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 542,
"topic": "graph",
"routines": ["breadth-first-search"]
},
{
"slug": "k-closest-points-to-origin",
"title": "K Closest Points to Origin",
"url": "https://leetcode.com/problems/k-closest-points-to-origin",
"duration": 30,
"epi": 1,
"difficulty": "Medium",
"id": 1014,
"topic": "heap",
"routines": ["geometry"]
},
{
"slug": "longest-substring-without-repeating-characters",
"title": "Longest Substring Without Repeating Characters",
"url": "https://leetcode.com/problems/longest-substring-without-repeating-characters",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 3,
"topic": "string",
"routines": ["sliding-window"]
},
{
"slug": "3sum",
"title": "3Sum",
"url": "https://leetcode.com/problems/3sum",
"duration": 30,
"epi": 0,
"difficulty": "Medium",
"id": 15,
"topic": "array",
"routines": ["two-pointers"]
},
{
"slug": "binary-tree-level-order-traversal",
"title": "Binary Tree Level Order Traversal",
"url": "https://leetcode.com/problems/binary-tree-level-order-traversal",
"duration": 20,
"epi": 1,
"difficulty": "Medium",
"id": 102,
"topic": "binary-tree",
"routines": []
},
{
"slug": "clone-graph",
"title": "Clone Graph",
"url": "https://leetcode.com/problems/clone-graph",
"duration": 25,
"epi": null,
"difficulty": "Medium",
"id": 133,
"topic": "graph",
"routines": ["depth-first-search", "breadth-first-search"]
},
{
"slug": "evaluate-reverse-polish-notation",
"title": "Evaluate Reverse Polish Notation",
"url": "https://leetcode.com/problems/evaluate-reverse-polish-notation",
"duration": 30,
"epi": 2,
"difficulty": "Medium",
"id": 150,
"topic": "stack",
"routines": []
}
],
"Week 4": [
{
"slug": "course-schedule",
"title": "Course Schedule",
"url": "https://leetcode.com/problems/course-schedule",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 207,
"topic": "graph",
"routines": ["topo-sort"]
},
{
"slug": "implement-trie-prefix-tree",
"title": "Implement Trie (Prefix Tree)",
"url": "https://leetcode.com/problems/implement-trie-prefix-tree",
"duration": 35,
"epi": null,
"difficulty": "Medium",
"id": 208,
"topic": "trie",
"routines": []
},
{
"slug": "coin-change",
"title": "Coin Change",
"url": "https://leetcode.com/problems/coin-change",
"duration": 25,
"epi": null,
"difficulty": "Medium",
"id": 322,
"topic": "dynamic-programming",
"routines": []
},
{
"slug": "product-of-array-except-self",
"title": "Product of Array Except Self",
"url": "https://leetcode.com/problems/product-of-array-except-self",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 238,
"topic": "array",
"routines": ["prefix-sum"]
},
{
"slug": "validate-binary-search-tree",
"title": "Validate Binary Search Tree",
"url": "https://leetcode.com/problems/validate-binary-search-tree",
"duration": 20,
"epi": null,
"difficulty": "Medium",
"id": 98,
"topic": "binary-search-tree",
"routines": []
},
{
"slug": "number-of-islands",
"title": "Number of Islands",
"url": "https://leetcode.com/problems/number-of-islands",
"duration": 25,
"epi": null,
"difficulty": "Medium",
"id": 200,
"topic": "graph",
"routines": ["depth-first-search", " breadth-first-search"]
},
{
"slug": "rotting-oranges",
"title": "Rotting Oranges",
"url": "https://leetcode.com/problems/rotting-oranges",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 1036,
"topic": "graph",
"routines": ["breadth-first-search"]
},
{
"slug": "search-in-rotated-sorted-array",
"title": "Search in Rotated Sorted Array",
"url": "https://leetcode.com/problems/search-in-rotated-sorted-array",
"duration": 30,
"epi": 2,
"difficulty": "Medium",
"id": 33,
"topic": "binary-search",
"routines": []
}
],
"Week 5": [
{
"slug": "combination-sum",
"title": "Combination Sum",
"url": "https://leetcode.com/problems/combination-sum",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 39,
"topic": "array",
"routines": ["backtracking"]
},
{
"slug": "permutations",
"title": "Permutations",
"url": "https://leetcode.com/problems/permutations",
"duration": 30,
"epi": 2,
"difficulty": "Medium",
"id": 46,
"topic": "recursion",
"routines": ["backtracking"]
},
{
"slug": "merge-intervals",
"title": "Merge Intervals",
"url": "https://leetcode.com/problems/merge-intervals",
"duration": 30,
"epi": 3,
"difficulty": "Medium",
"id": 56,
"topic": "array",
"routines": ["interval"]
},
{
"slug": "lowest-common-ancestor-of-a-binary-tree",
"title": "Lowest Common Ancestor of a Binary Tree",
"url": "https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree",
"duration": 25,
"epi": null,
"difficulty": "Medium",
"id": 236,
"topic": "binary-tree",
"routines": []
},
{
"slug": "time-based-key-value-store",
"title": "Time Based Key-Value Store",
"url": "https://leetcode.com/problems/time-based-key-value-store",
"duration": 35,
"epi": null,
"difficulty": "Medium",
"id": 1023,
"topic": "binary-search",
"routines": []
},
{
"slug": "accounts-merge",
"title": "Accounts Merge",
"url": "https://leetcode.com/problems/accounts-merge",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 721,
"topic": "graph",
"routines": ["depth-first-search", "union-find"]
},
{
"slug": "sort-colors",
"title": "Sort Colors",
"url": "https://leetcode.com/problems/sort-colors",
"duration": 25,
"epi": 0,
"difficulty": "Medium",
"id": 75,
"topic": "array",
"routines": ["two-pointers"]
},
{
"slug": "word-break",
"title": "Word Break",
"url": "https://leetcode.com/problems/word-break",
"duration": 30,
"epi": 2,
"difficulty": "Medium",
"id": 139,
"topic": "trie",
"routines": []
}
],
"Week 6": [
{
"slug": "partition-equal-subset-sum",
"title": "Partition Equal Subset Sum",
"url": "https://leetcode.com/problems/partition-equal-subset-sum",
"duration": 30,
"epi": 2,
"difficulty": "Medium",
"id": 416,
"topic": "dynamic-programming",
"routines": []
},
{
"slug": "string-to-integer-atoi",
"title": "String to Integer (atoi)",
"url": "https://leetcode.com/problems/string-to-integer-atoi",
"duration": 25,
"epi": 0,
"difficulty": "Medium",
"id": 8,
"topic": "string",
"routines": []
},
{
"slug": "spiral-matrix",
"title": "Spiral Matrix",
"url": "https://leetcode.com/problems/spiral-matrix",
"duration": 25,
"epi": 1,
"difficulty": "Medium",
"id": 54,
"topic": "matrix",
"routines": []
},
{
"slug": "subsets",
"title": "Subsets",
"url": "https://leetcode.com/problems/subsets",
"duration": 30,
"epi": 3,
"difficulty": "Medium",
"id": 78,
"topic": "recursion",
"routines": ["backtracking"]
},
{
"slug": "binary-tree-right-side-view",
"title": "Binary Tree Right Side View",
"url": "https://leetcode.com/problems/binary-tree-right-side-view",
"duration": 20,
"epi": null,
"difficulty": "Medium",
"id": 199,
"topic": "binary-tree",
"routines": []
},
{
"slug": "longest-palindromic-substring",
"title": "Longest Palindromic Substring",
"url": "https://leetcode.com/problems/longest-palindromic-substring",
"duration": 25,
"epi": null,
"difficulty": "Medium",
"id": 5,
"topic": "string",
"routines": ["palindrome", "two-pointer", "dynamic-programming"]
},
{
"slug": "unique-paths",
"title": "Unique Paths",
"url": "https://leetcode.com/problems/unique-paths",
"duration": 20,
"epi": 2,
"difficulty": "Medium",
"id": 62,
"topic": "dynamic-programming",
"routines": []
},
{
"slug": "construct-binary-tree-from-preorder-and-inorder-traversal",
"title": "Construct Binary Tree from Preorder and Inorder Traversal",
"url": "https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal",
"duration": 25,
"epi": 2,
"difficulty": "Medium",
"id": 105,
"topic": "binary-tree",
"routines": []
},
{
"slug": "container-with-most-water",
"title": "Container With Most Water",
"url": "https://leetcode.com/problems/container-with-most-water",
"duration": 35,
"epi": 2,
"difficulty": "Medium",
"id": 11,
"topic": "array",
"routines": ["greedy", "two-pointers"]
}
],
"Week 7": [
{
"slug": "letter-combinations-of-a-phone-number",
"title": "Letter Combinations of a Phone Number",
"url": "https://leetcode.com/problems/letter-combinations-of-a-phone-number",
"duration": 30,
"epi": 3,
"difficulty": "Medium",
"id": 17,
"topic": "recursion",
"routines": ["backtracking"]
},
{
"slug": "word-search",
"title": "Word Search",
"url": "https://leetcode.com/problems/word-search",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 79,
"topic": "graph",
"routines": ["backtracking"]
},
{
"slug": "find-all-anagrams-in-a-string",
"title": "Find All Anagrams in a String",
"url": "https://leetcode.com/problems/find-all-anagrams-in-a-string",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 438,
"topic": "string",
"routines": ["anagram"]
},
{
"slug": "minimum-height-trees",
"title": "Minimum Height Trees",
"url": "https://leetcode.com/problems/minimum-height-trees",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 310,
"topic": "graph",
"routines": ["topo-sort"]
},
{
"slug": "task-scheduler",
"title": "Task Scheduler",
"url": "https://leetcode.com/problems/task-scheduler",
"duration": 35,
"epi": null,
"difficulty": "Medium",
"id": 621,
"topic": "heap",
"routines": []
},
{
"slug": "lru-cache",
"title": "LRU Cache",
"url": "https://leetcode.com/problems/lru-cache",
"duration": 30,
"epi": null,
"difficulty": "Medium",
"id": 146,
"topic": "linked-list",
"routines": ["hash-table"]
},
{
"slug": "kth-smallest-element-in-a-bst",
"title": "Kth Smallest Element in a BST",
"url": "https://leetcode.com/problems/kth-smallest-element-in-a-bst",
"duration": 25,
"epi": null,
"difficulty": "Medium",
"id": 230,
"topic": "binary-search-tree",
"routines": []
},
{
"slug": "minimum-window-substring",
"title": "Minimum Window Substring",
"url": "https://leetcode.com/problems/minimum-window-substring",
"duration": 30,
"epi": 3,
"difficulty": "Hard",
"id": 76,
"topic": "string",
"routines": ["sliding-window"]
}
],
"Week 8": [
{
"slug": "serialize-and-deserialize-binary-tree",
"title": "Serialize and Deserialize Binary Tree",
"url": "https://leetcode.com/problems/serialize-and-deserialize-binary-tree",
"duration": 40,
"epi": null,
"difficulty": "Hard",
"id": 297,
"topic": "binary-tree",
"routines": []
},
{
"slug": "trapping-rain-water",
"title": "Trapping Rain Water",
"url": "https://leetcode.com/problems/trapping-rain-water",
"duration": 35,
"epi": null,
"difficulty": "Hard",
"id": 42,
"topic": "stack",
"routines": ["monotonic-stack"]
},
{
"slug": "find-median-from-data-stream",
"title": "Find Median from Data Stream",
"url": "https://leetcode.com/problems/find-median-from-data-stream",
"duration": 30,
"epi": 3,
"difficulty": "Hard",
"id": 295,
"topic": "heap",
"routines": []
},
{
"slug": "word-ladder",
"title": "Word Ladder",
"url": "https://leetcode.com/problems/word-ladder",
"duration": 45,
"epi": null,
"difficulty": "Hard",
"id": 127,
"topic": "graph",
"routines": ["breadth-first-search"]
},
{
"slug": "basic-calculator",
"title": "Basic Calculator",
"url": "https://leetcode.com/problems/basic-calculator",
"duration": 40,
"epi": null,
"difficulty": "Hard",
"id": 224,
"topic": "stack",
"routines": ["parsing"]
},
{
"slug": "maximum-profit-in-job-scheduling",
"title": "Maximum Profit in Job Scheduling",
"url": "https://leetcode.com/problems/maximum-profit-in-job-scheduling",
"duration": 45,
"epi": null,
"difficulty": "Hard",
"id": 1352,
"topic": "binary-search",
"routines": ["dynamic-programming"]
},
{
"slug": "merge-k-sorted-lists",
"title": "Merge k Sorted Lists",
"url": "https://leetcode.com/problems/merge-k-sorted-lists",
"duration": 30,
"epi": null,
"difficulty": "Hard",
"id": 23,
"topic": "heap",
"routines": []
},
{
"slug": "largest-rectangle-in-histogram",
"title": "Largest Rectangle in Histogram",
"url": "https://leetcode.com/problems/largest-rectangle-in-histogram",
"duration": 35,
"epi": 3,
"difficulty": "Hard",
"id": 84,
"topic": "stack",
"routines": ["monotonic-stack"]
}
]
}