--- id: best-practice-questions title: Best Practice Questions --- Here is a suggested schedule for revising and practicing algorithm questions on [LeetCode](https://leetcode.com). Sign up for an account if you don't already have one, it's critical to your success in interviewing!) ## Week 1 In week 1, we will start off easy and do a mix of easy and medium questions on arrays and strings. Arrays and strings are the most common types of questions to be found in interviews; gaining familiarity with them will help in building strong fundamentals to better handle tougher questions. - [Two Sum](https://leetcode.com/problems/two-sum/) - [Contains Duplicate](https://leetcode.com/problems/contains-duplicate/) - [Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/) - [Valid Anagram](https://leetcode.com/problems/valid-anagram/) - [Valid Parentheses](https://leetcode.com/problems/valid-parentheses/) - [Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/) - [Maximum Subarray](https://leetcode.com/problems/maximum-subarray/) - [3Sum](https://leetcode.com/problems/3sum/) - [Merge Intervals](https://leetcode.com/problems/merge-intervals/) - [Group Anagrams](https://leetcode.com/problems/group-anagrams/) #### Optional - [Maximum Product Subarray](https://leetcode.com/problems/maximum-product-subarray/) - [Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/) ## Week 2 The focus of week 2 is on Linked List, string and matrix-based questions. - [Reverse a Linked List](https://leetcode.com/problems/reverse-linked-list/) - [Detect Cycle in a Linked List](https://leetcode.com/problems/linked-list-cycle/) - [Container With Most Water](https://leetcode.com/problems/container-with-most-water/) - [Find Minimum in Rotated Sorted Array](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/) - [Longest Repeating Character Replacement](https://leetcode.com/problems/longest-repeating-character-replacement/) - [Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/) - [Number of Islands](https://leetcode.com/problems/number-of-islands/) - [Remove Nth Node From End Of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/) - [Pacific Atlantic Water Flow](https://leetcode.com/problems/pacific-atlantic-water-flow/) - [Merge K Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/) ## Week 3 The focus of week 3 is on non-linear data structures like trees, graphs and heaps. - [Validate Binary Search Tree](https://leetcode.com/problems/validate-binary-search-tree/) - [Invert/Flip Binary Tree](https://leetcode.com/problems/invert-binary-tree/) - [Palindromic Substrings](https://leetcode.com/problems/palindromic-substrings/) - [Non-overlapping Intervals](https://leetcode.com/problems/non-overlapping-intervals/) - [Serialize and Deserialize Binary Tree](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/) - [Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/) - [Construct Binary Tree from Preorder and Inorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/) - [Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) - [Clone Graph](https://leetcode.com/problems/clone-graph/) - [Course Schedule](https://leetcode.com/problems/course-schedule/) - [Binary Tree Maximum Path Sum](https://leetcode.com/problems/binary-tree-maximum-path-sum/) #### Optional - [Maximum Depth of Binary Tree](https://leetcode.com/problems/maximum-depth-of-binary-tree/) - [Same Tree](https://leetcode.com/problems/same-tree/) - [Binary Tree Level Order Traversal](https://leetcode.com/problems/binary-tree-level-order-traversal/) - [Encode and Decode Strings (Leetcode Premium)](https://leetcode.com/problems/encode-and-decode-strings/) ## Week 4 Week 4 builds up on knowledge from previous weeks but questions are of increased difficulty. Expect to see such level of questions during interviews. - [Add and Search Word](https://leetcode.com/problems/add-and-search-word-data-structure-design/) - [Implement Trie (Prefix Tree)](https://leetcode.com/problems/implement-trie-prefix-tree/) - [Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/) - [Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/) - [Lowest Common Ancestor of BST](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/) - [Merge K Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/) - [Find Median from Data Stream](https://leetcode.com/problems/find-median-from-data-stream/) - [Insert Interval](https://leetcode.com/problems/insert-interval/) - [Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/) - [Word Search II](https://leetcode.com/problems/word-search-ii/) #### Optional - [Meeting Rooms (Leetcode Premium)](https://leetcode.com/problems/meeting-rooms/) - [Meeting Rooms II (Leetcode Premium)](https://leetcode.com/problems/meeting-rooms-ii/) - [Alien Dictionary (Leetcode Premium)](https://leetcode.com/problems/alien-dictionary/) - [Graph Valid Tree (Leetcode Premium)](https://leetcode.com/problems/graph-valid-tree/) - [Number of Connected Components in an Undirected Graph (Leetcode Premium)](https://leetcode.com/problems/number-of-connected-components-in-an-undirected-graph/) ## Week 5 Week 5 focuses on Dynamic Programming questions. - [Climbing Stairs](https://leetcode.com/problems/climbing-stairs/) - [Coin Change](https://leetcode.com/problems/coin-change/) - [Longest Increasing Subsequence](https://leetcode.com/problems/longest-increasing-subsequence/) - [Word Break Problem](https://leetcode.com/problems/word-break/) - [Combination Sum](https://leetcode.com/problems/combination-sum-iv/) - [House Robber](https://leetcode.com/problems/house-robber/) - [House Robber II](https://leetcode.com/problems/house-robber-ii/) - [Decode Ways](https://leetcode.com/problems/decode-ways/) - [Unique Paths](https://leetcode.com/problems/unique-paths/) - [Jump Game](https://leetcode.com/problems/jump-game/)