Microsoft 500+ DSA Questions
Microsoft 500+ DSA Questions
## **1. Arrays**
1. Two Sum (Leetcode 1)
2. Best Time to Buy and Sell Stock (Leetcode 121)
3. Contains Duplicate (Leetcode 217)
4. Product of Array Except Self (Leetcode 238)
5. Maximum Subarray (Kadane's Algorithm) (Leetcode 53)
6. Maximum Product Subarray (Leetcode 152)
7. Find Minimum in Rotated Sorted Array (Leetcode 153)
8. Search in Rotated Sorted Array (Leetcode 33)
9. 3 Sum Problem (Leetcode 15)
10. Container With Most Water (Leetcode 11)
11. Trapping Rain Water (Leetcode 42)
12. Merge Intervals (Leetcode 56)
13. Insert Interval (Leetcode 57)
14. Meeting Rooms (Leetcode 252)
15. Meeting Rooms II (Leetcode 253)
16. Minimum Number of Platforms (GFG)
17. Pascals Triangle (Leetcode 118)
18. Majority Element (Leetcode 169)
19. Find the Duplicate Number (Leetcode 287)
20. Missing Number (Leetcode 268)
21. Subarray Sum Equals K (Leetcode 560)
22. Longest Consecutive Sequence (Leetcode 128)
23. Merge Sorted Array (Leetcode 88)
24. Next Permutation (Leetcode 31)
25. Largest Rectangle in Histogram (Leetcode 84)
## **2. Strings**
26. Valid Anagram (Leetcode 242)
27. Group Anagrams (Leetcode 49)
28. Valid Parentheses (Leetcode 20)
29. Longest Palindromic Substring (Leetcode 5)
30. String to Integer (atoi) (Leetcode 8)
31. Implement strStr() (Leetcode 28)
32. Longest Common Prefix (Leetcode 14)
33. Reverse Words in a String (Leetcode 151)
34. Isomorphic Strings (Leetcode 205)
35. Edit Distance (Leetcode 72)
36. Minimum Window Substring (Leetcode 76)
37. Find All Anagrams in a String (Leetcode 438)
38. Decode Ways (Leetcode 91)
39. Count and Say (Leetcode 38)
40. Valid Palindrome (Leetcode 125)
41. Longest Substring Without Repeating Characters (Leetcode 3)
## **4. Trees**
52. Binary Tree Inorder Traversal (Leetcode 94)
53. Validate Binary Search Tree (Leetcode 98)
54. Symmetric Tree (Leetcode 101)
55. Maximum Depth of Binary Tree (Leetcode 104)
56. Lowest Common Ancestor of a BST (Leetcode 235)
57. Serialize and Deserialize Binary Tree (Leetcode 297)
58. Construct Binary Tree from Preorder and Inorder Traversal (Leetcode 105)
59. Diameter of Binary Tree (Leetcode 543)
60. Path Sum (Leetcode 112)
61. Kth Smallest Element in a BST (Leetcode 230)
## **5. Graphs**
62. Clone Graph (Leetcode 133)
63. Course Schedule (Leetcode 207)
64. Number of Islands (Leetcode 200)
65. Word Ladder (Leetcode 127)
66. Pacific Atlantic Water Flow (Leetcode 417)
67. Graph Valid Tree (Leetcode 261)
68. Number of Connected Components in an Undirected Graph (Leetcode 323)
69. Rotting Oranges (Leetcode 994)
70. Shortest Path in Binary Matrix (Leetcode 1091)
71. Alien Dictionary (Leetcode 269)