Google Interview Questions — 100 DSA Problems
79 problems with full solutions in Python, Java, C++, JavaScript, Go, Rust.
Most frequently asked Google LeetCode questions for software engineering interviews.
- Two Sum (EASY) — Array, Hash Table
- Add Two Numbers (MEDIUM) — Linked List, Math, Recursion
- Trapping Rain Water (HARD) — Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack
- Median of Two Sorted Arrays (HARD) — Array, Binary Search, Divide and Conquer
- Longest Substring Without Repeating Characters (MEDIUM) — Hash Table, String, Sliding Window
- Longest Common Prefix (EASY) — String, Trie
- Valid Parentheses (EASY) — String, Stack
- Longest Consecutive Sequence (MEDIUM) — Array, Hash Table, Union Find
- Maximum Subarray (MEDIUM) — Array, Divide and Conquer, Dynamic Programming
- Rotate Image (MEDIUM) — Array, Math, Matrix
- Search in Rotated Sorted Array (MEDIUM) — Array, Binary Search
- Reverse Linked List (EASY) — Linked List, Recursion
- 4Sum (MEDIUM) — Array, Two Pointers, Sorting
- Jump Game (MEDIUM) — Array, Dynamic Programming, Greedy
- Group Anagrams (MEDIUM) — Array, Hash Table, String, Sorting
- Find Median from Data Stream (HARD) — Two Pointers, Design, Sorting, Heap (Priority Queue), Data Stream
- Pascal's Triangle (EASY) — Array, Dynamic Programming
- Single Number (EASY) — Array, Bit Manipulation
- Find the Index of the First Occurrence in a String (EASY) — Two Pointers, String, String Matching
- Maximal Rectangle (HARD) — Array, Dynamic Programming, Stack, Matrix, Monotonic Stack
- Valid Anagram (EASY) — Hash Table, String, Sorting
- First Missing Positive (HARD) — Array, Hash Table
- Jump Game II (MEDIUM) — Array, Dynamic Programming, Greedy
- Add Binary (EASY) — Math, String, Bit Manipulation, Simulation
- Text Justification (HARD) — Array, String, Simulation
- Insert Interval (MEDIUM) — Array
- Maximum Product Subarray (MEDIUM) — Array, Dynamic Programming
- String to Integer (atoi) (MEDIUM) — String
- Same Tree (EASY) — Tree, Depth-First Search, Breadth-First Search, Binary Tree
- Search a 2D Matrix (MEDIUM) — Array, Binary Search, Matrix
- Isomorphic Strings (EASY) — Hash Table, String
- 3Sum Closest (MEDIUM) — Array, Two Pointers, Sorting
- Wildcard Matching (HARD) — String, Dynamic Programming, Greedy, Recursion
- Find the Duplicate Number (MEDIUM) — Array, Two Pointers, Binary Search, Bit Manipulation
- Contains Duplicate II (EASY) — Array, Hash Table, Sliding Window
- Missing Number (EASY) — Array, Hash Table, Math, Binary Search, Bit Manipulation, Sorting
- Symmetric Tree (EASY) — Tree, Depth-First Search, Breadth-First Search, Binary Tree
- Minimum Path Sum (MEDIUM) — Array, Dynamic Programming, Matrix
- Kth Smallest Element in a BST (MEDIUM) — Tree, Depth-First Search, Binary Search Tree, Binary Tree
- Copy List with Random Pointer (MEDIUM) — Hash Table, Linked List
- Number of Islands II (HARD) — Array, Hash Table, Union Find
- Clone Graph (MEDIUM) — Hash Table, Depth-First Search, Breadth-First Search, Graph
- Integer to Roman (MEDIUM) — Hash Table, Math, String
- Shortest Palindrome (HARD) — String, Rolling Hash, String Matching, Hash Function
- Flatten Binary Tree to Linked List (MEDIUM) — Linked List, Stack, Tree, Depth-First Search, Binary Tree
- Group Shifted Strings (MEDIUM) — Array, Hash Table, String
- Word Search II (HARD) — Array, String, Backtracking, Trie, Matrix
- Binary Tree Right Side View (MEDIUM) — Tree, Depth-First Search, Breadth-First Search, Binary Tree
- Subsets II (MEDIUM) — Array, Backtracking, Bit Manipulation
- The Skyline Problem (HARD) — Array, Divide and Conquer, Binary Indexed Tree, Segment Tree, Line Sweep, Heap (Priority Queue), Ordered Set
G
Google
100 questions tracked79 with solutions
Frequency scoreSorted highest → lowest frequency✓ Our Solution = we have a detailed walkthrough
Showing 100 of 100 questions
3ArrayTwo PointersDynamic ProgrammingStack+1
4ArrayBinary SearchDivide and Conquer
5Hash TableStringSliding Window
8ArrayHash TableUnion Find
9ArrayDivide and ConquerDynamic Programming
14ArrayDynamic ProgrammingGreedy
15ArrayHash TableStringSorting
16Two PointersDesignSortingHeap (Priority Queue)+1
19Two PointersStringString Matching
20ArrayDynamic ProgrammingStackMatrix+1
23ArrayDynamic ProgrammingGreedy
24MathStringBit ManipulationSimulation
29TreeDepth-First SearchBreadth-First SearchBinary Tree
33StringDynamic ProgrammingGreedyRecursion
34ArrayTwo PointersBinary SearchBit Manipulation
35ArrayHash TableSliding Window
36ArrayHash TableMathBinary Search+2
37TreeDepth-First SearchBreadth-First SearchBinary Tree
38ArrayDynamic ProgrammingMatrix
39TreeDepth-First SearchBinary Search TreeBinary Tree
41HardNumber of Islands II
ArrayHash TableUnion Find
42Hash TableDepth-First SearchBreadth-First SearchGraph
44StringRolling HashString MatchingHash Function
45Linked ListStackTreeDepth-First Search+1
46MediumGroup Shifted Strings
ArrayHash TableString
47ArrayStringBacktrackingTrie+1
48TreeDepth-First SearchBreadth-First SearchBinary Tree
49ArrayBacktrackingBit Manipulation
50ArrayDivide and ConquerBinary Indexed TreeSegment Tree+3
54MediumGraph Valid Tree
Depth-First SearchBreadth-First SearchUnion FindGraph
59MathDynamic ProgrammingRecursion
60MediumWalls and Gates
ArrayBreadth-First SearchMatrix
61StringBacktrackingTreeDepth-First Search+1
62MediumWiggle Sort
ArrayGreedySorting
64Medium3Sum Smaller
ArrayTwo PointersBinary SearchSorting
66TreeDepth-First SearchBinary Search TreeBinary Tree
67HardRead N Characters Given read4 II - Call Multiple Times
ArraySimulationInteractive
68MediumPaint Fence
Dynamic Programming
69MediumLongest Substring with At Most Two Distinct Characters
Hash TableStringSliding Window
71StackTreeDepth-First SearchBinary Tree
72EasyStrobogrammatic Number
Hash TableTwo PointersString
73MediumZigzag Iterator
ArrayDesignQueueIterator
77HardClosest Binary Search Tree Value II
Two PointersStackTreeDepth-First Search+3
78MediumFlatten 2D Vector
ArrayTwo PointersDesignIterator
79MediumUnique Word Abbreviation
ArrayHash TableStringDesign
80MediumFlip Game II
MathDynamic ProgrammingBacktrackingMemoization+1
81EasyPalindrome Permutation
Hash TableStringBit Manipulation
82StringDynamic Programming
86Linked ListTreeDepth-First SearchBreadth-First Search+1
89TreeDepth-First SearchBreadth-First SearchBinary Tree
93EasyRead N Characters Given Read4
ArraySimulationInteractive
94MathBacktrackingBit Manipulation
95StringBacktrackingBreadth-First Search
97MediumFind the Celebrity
Two PointersGraphInteractive
98ArrayDesignBinary Indexed TreeSegment Tree
99TreeBreadth-First SearchBinary Tree
100MediumPaint House
ArrayDynamic Programming