Amazon Interview Questions — 100 DSA Problems
100 problems with full solutions in Python, Java, C++, JavaScript, Go, Rust.
Most frequently asked Amazon LeetCode questions for software engineering interviews.
- Two Sum (EASY) — Array, Hash Table
- Trapping Rain Water (HARD) — Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack
- Longest Substring Without Repeating Characters (MEDIUM) — Hash Table, String, Sliding Window
- Merge Sorted Array (EASY) — Array, Two Pointers, Sorting
- Group Anagrams (MEDIUM) — Array, Hash Table, String, Sorting
- Add Two Numbers (MEDIUM) — Linked List, Math, Recursion
- Valid Parentheses (EASY) — String, Stack
- Longest Palindromic Substring (MEDIUM) — Two Pointers, String, Dynamic Programming
- 3Sum (MEDIUM) — Array, Two Pointers, Sorting
- Merge Intervals (MEDIUM) — Array, Sorting
- Median of Two Sorted Arrays (HARD) — Array, Binary Search, Divide and Conquer
- Container With Most Water (MEDIUM) — Array, Two Pointers, Greedy
- Merge k Sorted Lists (HARD) — Linked List, Divide and Conquer, Heap (Priority Queue), Merge Sort
- Maximum Subarray (MEDIUM) — Array, Divide and Conquer, Dynamic Programming
- Longest Common Prefix (EASY) — String, Trie
- Climbing Stairs (EASY) — Math, Dynamic Programming, Memoization
- Jump Game (MEDIUM) — Array, Dynamic Programming, Greedy
- Generate Parentheses (MEDIUM) — String, Dynamic Programming, Backtracking
- Letter Combinations of a Phone Number (MEDIUM) — Hash Table, String, Backtracking
- Spiral Matrix (MEDIUM) — Array, Matrix, Simulation
- Search in Rotated Sorted Array (MEDIUM) — Array, Binary Search
- Palindrome Number (EASY) — Math
- Roman to Integer (EASY) — Hash Table, Math, String
- Merge Two Sorted Lists (EASY) — Linked List, Recursion
- Reverse Integer (MEDIUM) — Math
- Rotate Image (MEDIUM) — Array, Math, Matrix
- Word Search (MEDIUM) — Array, String, Backtracking, Depth-First Search, Matrix
- Next Permutation (MEDIUM) — Array, Two Pointers
- Remove Duplicates from Sorted Array (EASY) — Array, Two Pointers
- Largest Rectangle in Histogram (HARD) — Array, Stack, Monotonic Stack
- Valid Sudoku (MEDIUM) — Array, Hash Table, Matrix
- Find First and Last Position of Element in Sorted Array (MEDIUM) — Array, Binary Search
- First Missing Positive (HARD) — Array, Hash Table
- Jump Game II (MEDIUM) — Array, Dynamic Programming, Greedy
- Subsets (MEDIUM) — Array, Backtracking, Bit Manipulation
- Set Matrix Zeroes (MEDIUM) — Array, Hash Table, Matrix
- 4Sum (MEDIUM) — Array, Two Pointers, Sorting
- Reverse Nodes in k-Group (HARD) — Linked List, Recursion
- Pow(x, n) (MEDIUM) — Math, Recursion
- Unique Paths (MEDIUM) — Math, Dynamic Programming, Combinatorics
- Sort Colors (MEDIUM) — Array, Two Pointers, Sorting
- Search a 2D Matrix (MEDIUM) — Array, Binary Search, Matrix
- Regular Expression Matching (HARD) — String, Dynamic Programming, Recursion
- Minimum Window Substring (HARD) — Hash Table, String, Sliding Window
- Remove Nth Node From End of List (MEDIUM) — Linked List, Two Pointers
- Validate Binary Search Tree (MEDIUM) — Tree, Depth-First Search, Binary Search Tree, Binary Tree
- N-Queens (HARD) — Array, Backtracking
- Zigzag Conversion (MEDIUM) — String
- Combination Sum (MEDIUM) — Array, Backtracking
- Remove Element (EASY) — Array, Two Pointers
A
Amazon
100 questions tracked100 with solutions
Frequency scoreSorted highest → lowest frequency✓ Our Solution = we have a detailed walkthrough
Showing 100 of 100 questions
2ArrayTwo PointersDynamic ProgrammingStack+1
3Hash TableStringSliding Window
5ArrayHash TableStringSorting
8Two PointersStringDynamic Programming
11ArrayBinary SearchDivide and Conquer
13Linked ListDivide and ConquerHeap (Priority Queue)Merge Sort
14ArrayDivide and ConquerDynamic Programming
16MathDynamic ProgrammingMemoization
17ArrayDynamic ProgrammingGreedy
18StringDynamic ProgrammingBacktracking
19Hash TableStringBacktracking
27ArrayStringBacktrackingDepth-First Search+1
30ArrayStackMonotonic Stack
32MediumFind First and Last Position of Element in Sorted Array✓ Our Solution ArrayBinary Search
34ArrayDynamic ProgrammingGreedy
35ArrayBacktrackingBit Manipulation
40MathDynamic ProgrammingCombinatorics
43StringDynamic ProgrammingRecursion
44Hash TableStringSliding Window
46TreeDepth-First SearchBinary Search TreeBinary Tree
51Two PointersStringString Matching
57StringDynamic ProgrammingStack
60StringDynamic Programming
61MathStringBit ManipulationSimulation
65StringDynamic Programming
66ArrayDynamic ProgrammingMatrix
69ArrayBacktrackingBit Manipulation
71TreeDepth-First SearchBreadth-First SearchBinary Tree
74ArrayHash TableBacktrackingMatrix
76StringDynamic ProgrammingGreedyRecursion
80StackTreeDepth-First SearchBinary Tree
83ArrayDynamic ProgrammingStackMatrix+1
84Dynamic ProgrammingBacktrackingTreeBinary Search Tree+1
86ArrayDynamic ProgrammingMatrix
88Hash TableStringSliding Window
90TreeDepth-First SearchBinary Search TreeBinary Tree
91StringDynamic Programming
93MathBacktrackingBit Manipulation
94MathDynamic ProgrammingTreeBinary Search Tree+1
100StringDynamic Programming