Oracle Interview Questions — 100 DSA Problems
100 problems with full solutions in Python, Java, C++, JavaScript, Go, Rust.
Most frequently asked Oracle LeetCode questions for software engineering interviews.
- LRU Cache (MEDIUM) — Hash Table, Linked List, Design, Doubly-Linked List
- Number of Islands (MEDIUM) — Array, Depth-First Search, Breadth-First Search, Union Find, Matrix
- Two Sum (EASY) — Array, Hash Table
- Longest Substring Without Repeating Characters (MEDIUM) — Hash Table, String, Sliding Window
- Merge Intervals (MEDIUM) — Array, Sorting
- Group Anagrams (MEDIUM) — Array, Hash Table, String, Sorting
- Longest Palindromic Substring (MEDIUM) — Two Pointers, String, Dynamic Programming
- Merge k Sorted Lists (HARD) — Linked List, Divide and Conquer, Heap (Priority Queue), Merge Sort
- Sliding Window Maximum (HARD) — Array, Queue, Sliding Window, Heap (Priority Queue), Monotonic Queue
- Container With Most Water (MEDIUM) — Array, Two Pointers, Greedy
- Search in Rotated Sorted Array (MEDIUM) — Array, Binary Search
- Binary Tree Right Side View (MEDIUM) — Tree, Depth-First Search, Breadth-First Search, Binary Tree
- Longest Consecutive Sequence (MEDIUM) — Array, Hash Table, Union Find
- Trapping Rain Water (HARD) — Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack
- Add Two Numbers (MEDIUM) — Linked List, Math, Recursion
- Spiral Matrix (MEDIUM) — Array, Matrix, Simulation
- Reverse Linked List (EASY) — Linked List, Recursion
- Merge Two Sorted Lists (EASY) — Linked List, Recursion
- Jump Game (MEDIUM) — Array, Dynamic Programming, Greedy
- Best Time to Buy and Sell Stock (EASY) — Array, Dynamic Programming
- Pow(x, n) (MEDIUM) — Math, Recursion
- 3Sum (MEDIUM) — Array, Two Pointers, Sorting
- Course Schedule (MEDIUM) — Depth-First Search, Breadth-First Search, Graph, Topological Sort
- Roman to Integer (EASY) — Hash Table, Math, String
- Binary Tree Zigzag Level Order Traversal (MEDIUM) — Tree, Breadth-First Search, Binary Tree
- Binary Tree Maximum Path Sum (HARD) — Dynamic Programming, Tree, Depth-First Search, Binary Tree
- Search a 2D Matrix II (MEDIUM) — Array, Binary Search, Divide and Conquer, Matrix
- Course Schedule II (MEDIUM) — Depth-First Search, Breadth-First Search, Graph, Topological Sort
- Gas Station (MEDIUM) — Array, Greedy
- Longest Common Prefix (EASY) — String, Trie
- Maximum Subarray (MEDIUM) — Array, Divide and Conquer, Dynamic Programming
- Word Search (MEDIUM) — Array, String, Backtracking, Depth-First Search, Matrix
- First Missing Positive (HARD) — Array, Hash Table
- Kth Largest Element in an Array (MEDIUM) — Array, Divide and Conquer, Sorting, Heap (Priority Queue), Quickselect
- Set Matrix Zeroes (MEDIUM) — Array, Hash Table, Matrix
- Lowest Common Ancestor of a Binary Tree (MEDIUM) — Tree, Depth-First Search, Binary Tree
- Min Stack (MEDIUM) — Stack, Design
- Validate Binary Search Tree (MEDIUM) — Tree, Depth-First Search, Binary Search Tree, Binary Tree
- Linked List Cycle (EASY) — Hash Table, Linked List, Two Pointers
- Restore IP Addresses (MEDIUM) — String, Backtracking
- Product of Array Except Self (MEDIUM) — Array, Prefix Sum
- Combination Sum (MEDIUM) — Array, Backtracking
- Valid Anagram (EASY) — Hash Table, String, Sorting
- Sort Colors (MEDIUM) — Array, Two Pointers, Sorting
- Median of Two Sorted Arrays (HARD) — Array, Binary Search, Divide and Conquer
- Zigzag Conversion (MEDIUM) — String
- Delete Node in a Linked List (MEDIUM) — Linked List
- Find First and Last Position of Element in Sorted Array (MEDIUM) — Array, Binary Search
- Generate Parentheses (MEDIUM) — String, Dynamic Programming, Backtracking
- Maximal Square (MEDIUM) — Array, Dynamic Programming, Matrix
O
Oracle
100 questions tracked100 with solutions
Frequency scoreSorted highest → lowest frequency✓ Our Solution = we have a detailed walkthrough
Showing 100 of 100 questions
1Hash TableLinked ListDesignDoubly-Linked List
2ArrayDepth-First SearchBreadth-First SearchUnion Find+1
4Hash TableStringSliding Window
6ArrayHash TableStringSorting
7Two PointersStringDynamic Programming
8Linked ListDivide and ConquerHeap (Priority Queue)Merge Sort
9ArrayQueueSliding WindowHeap (Priority Queue)+1
12TreeDepth-First SearchBreadth-First SearchBinary Tree
13ArrayHash TableUnion Find
14ArrayTwo PointersDynamic ProgrammingStack+1
19ArrayDynamic ProgrammingGreedy
23Depth-First SearchBreadth-First SearchGraphTopological Sort
25TreeBreadth-First SearchBinary Tree
26Dynamic ProgrammingTreeDepth-First SearchBinary Tree
27ArrayBinary SearchDivide and ConquerMatrix
28Depth-First SearchBreadth-First SearchGraphTopological Sort
31ArrayDivide and ConquerDynamic Programming
32ArrayStringBacktrackingDepth-First Search+1
34ArrayDivide and ConquerSortingHeap (Priority Queue)+1
36TreeDepth-First SearchBinary Tree
38TreeDepth-First SearchBinary Search TreeBinary Tree
39Hash TableLinked ListTwo Pointers
45ArrayBinary SearchDivide and Conquer
48MediumFind First and Last Position of Element in Sorted Array✓ Our Solution ArrayBinary Search
49StringDynamic ProgrammingBacktracking
50ArrayDynamic ProgrammingMatrix
51ArrayDynamic ProgrammingGreedy
56ArrayBinary SearchSliding WindowPrefix Sum
57ArrayHash TableDivide and ConquerSorting+1
58Hash TableStringBacktracking
59TreeDepth-First SearchBinary Search TreeBinary Tree
63ArrayHash TableStringDynamic Programming+3
64StringDynamic Programming
65StringDynamic ProgrammingStack
68StringDynamic ProgrammingRecursion
69TreeDepth-First SearchBreadth-First SearchBinary Tree
73ArrayHash TableMathGeometry
75ArrayHash TableBacktrackingMatrix
76MathDynamic ProgrammingCombinatorics
77Linked ListTreeDepth-First SearchBreadth-First Search+1
81Hash TableStringSliding Window
82StringDynamic Programming
84Linked ListTwo PointersStackRecursion
87ArrayTwo PointersBinary Search
89BacktrackingTreeDepth-First SearchBinary Tree
90Linked ListTwo PointersDivide and ConquerSorting+1
91ArrayHash TableSortingHeap (Priority Queue)
96TreeDepth-First SearchBinary Search TreeBinary Tree
97ArrayDynamic ProgrammingStackMatrix+1
99Hash TableLinked ListTwo Pointers
100MathDynamic ProgrammingMemoization