Skip to content
    SeaCode
    Learning tracksCode ArenaWorkshops & EventsInstructors
    Log inSign up

    Get ready for interviews

    Practice problems

    160 problems of the kind asked in interviews, in Arabic and English. Write your solution in JavaScript, Python or C++; it's judged against hidden tests, with hints and a worked solution for every problem.

    Try a full mock interview
    Problem of the dayPaths through a gridSolve it →

    Sign in to track your progress

    0 / 160

    • 0/48
    • 0/97
    • 0/15

    Problems

    1. Pair with target sumarray · hash mapEasy
    2. Contains a duplicatearray · hash setEasy
    3. Is it an anagram?string · hash map · countingEasy
    4. Group the anagramsstring · hash map · sortingMedium
    5. Top k most frequentarray · hash map · sorting · bucket sortMedium
    6. Product of everything elsearray · prefix sumsMedium
    7. Longest consecutive runarray · hash setMedium
    8. The missing numberarray · math · bit manipulationEasy
    9. Zeros to the endarray · two pointersEasy
    10. FizzBuzzmath · stringEasy
    11. Reverse the wordsstring · two pointersMedium
    12. Palindrome after cleaningstring · two pointersEasy
    13. Pair in a sorted listarray · two pointers · binary searchEasy
    14. Three numbers summing to zeroarray · two pointers · sortingMedium
    15. Largest water containerarray · two pointers · greedyMedium
    16. Longest substring without repeatsstring · sliding window · hash mapMedium
    17. Best time to buy and sellarray · greedy · sliding windowEasy
    18. Longest common prefixstringEasy
    19. Roman numeralsstring · hash map · mathEasy
    20. Balanced bracketsstack · stringEasy
    21. Days until a warmer daystack · monotonic stack · arrayMedium
    22. Binary searchbinary search · arrayEasy
    23. Search a rotated listbinary search · arrayMedium
    24. Postfix calculatorstack · mathMedium
    25. Climbing stairsdynamic programming · mathEasy
    26. Maximum subarray sumarray · dynamic programming · greedyMedium
    27. Robbing a streetdynamic programming · arrayMedium
    28. Fewest coinsdynamic programming · bfsMedium
    29. Longest increasing subsequencedynamic programming · binary searchMedium
    30. Jump gamegreedy · arrayMedium
    31. Merge intervalsarray · sorting · intervalsMedium
    32. Count the islandsgraph · dfs · bfs · matrixMedium
    33. Rotate a matrix 90°matrix · array · mathMedium
    34. Spiral ordermatrix · simulationMedium
    35. Can you finish every course?graph · topological sort · bfsMedium
    36. Kth largest elementheap · sorting · quickselectMedium
    37. Word breakdynamic programming · string · hash setMedium
    38. Trapped rainwaterarray · two pointers · dynamic programming · stackHard
    39. Edit distancedynamic programming · stringHard
    40. The single numberarray · bit manipulationEasy
    41. Majority elementarray · counting · boyer-mooreEasy
    42. Plus onearray · mathEasy
    43. First unique characterstring · hash map · countingEasy
    44. Integer square rootbinary search · mathEasy
    45. Merge two sorted listsarray · two pointers · sortingEasy
    46. Subarrays summing to karray · hash map · prefix sumsMedium
    47. Paths through a griddynamic programming · math · combinatoricsMedium
    48. Ways to decodedynamic programming · stringMedium
    49. All subsetsbacktracking · recursion · bit manipulationMedium
    50. All permutationsbacktracking · recursionMedium
    51. Sliding window maximumsliding window · deque · monotonic queueHard
    52. Minimum window substringsliding window · hash map · stringHard
    53. Reverse a linked listlinked list · two pointers · recursionEasy
    54. Merge two sorted listslinked list · two pointers · recursionEasy
    55. Middle of a linked listlinked list · two pointers · fast and slow pointersEasy
    56. Remove duplicates from a sorted listlinked listEasy
    57. Palindrome linked listlinked list · two pointers · fast and slow pointersEasy
    58. Remove the nth node from the endlinked list · two pointersMedium
    59. Add two numbers stored in listslinked list · mathMedium
    60. Reorder a list front and backlinked list · two pointers · fast and slow pointersMedium
    61. Odd nodes before even nodeslinked listMedium
    62. Rotate a list rightlinked list · two pointersMedium
    63. Sort a linked listlinked list · sorting · merge sort · divide and conquerMedium
    64. Partition a list around a valuelinked list · two pointersMedium
    65. Swap nodes in pairslinked list · recursionMedium
    66. Reverse nodes in groups of klinked list · recursionHard
    67. Maximum depth of a binary treetree · dfs · bfs · recursionEasy
    68. Invert a binary treetree · dfs · bfs · recursionEasy
    69. Same treetree · dfs · recursionEasy
    70. Symmetric treetree · dfs · bfs · recursionEasy
    71. Diameter of a binary treetree · dfs · recursionEasy
    72. Balanced binary treetree · dfs · recursionEasy
    73. Root-to-leaf path sumtree · dfs · recursionEasy
    74. Subtree of another treetree · dfs · recursionEasy
    75. Sorted array to a balanced BSTtree · binary search tree · divide and conquerEasy
    76. Level order traversaltree · bfs · queueMedium
    77. Zigzag level ordertree · bfs · queueMedium
    78. Right side viewtree · bfs · dfsMedium
    79. Validate a binary search treetree · binary search tree · dfsMedium
    80. Kth smallest in a BSTtree · binary search tree · dfs · stackMedium
    81. Lowest common ancestor in a BSTtree · binary search treeMedium
    82. Count good nodestree · dfsMedium
    83. Build a tree from preorder and inordertree · divide and conquer · hash map · recursionMedium
    84. Maximum path sum in a treetree · dfs · dynamic programming · recursionHard
    85. Shortest path in a mazegraph · bfs · matrixMedium
    86. Network delay timegraph · dijkstra · heap · shortest pathMedium
    87. Number of connected componentsgraph · union find · dfsMedium
    88. Redundant connectiongraph · union findMedium
    89. Rotting orangesgraph · bfs · matrixMedium
    90. Course ordergraph · topological sort · heapMedium
    91. Is the graph bipartite?graph · bfs · dfs · graph coloringMedium
    92. Cheapest flight within k stopsgraph · shortest path · bellman-ford · dynamic programmingMedium
    93. Last stone weightheap · simulationEasy
    94. K closest points to the originheap · sorting · geometryMedium
    95. Task scheduler with cooldowngreedy · counting · heapMedium
    96. Word laddergraph · bfs · string · hash setHard
    97. Minimum cost to connect all pointsgraph · minimum spanning tree · primMedium
    98. Water flowing to both oceansgraph · dfs · bfs · matrixMedium
    99. Median of two sorted arraysbinary search · array · divide and conquerHard
    100. Min cost climbing stairsdynamic programming · arrayEasy
    101. Pascal's triangledynamic programming · array · mathEasy
    102. Longest common subsequencedynamic programming · stringMedium
    103. 0/1 knapsackdynamic programming · arrayMedium
    104. Partition into equal sumsdynamic programming · arrayMedium
    105. Ways to make changedynamic programming · arrayMedium
    106. Longest palindromic substringstring · two pointers · dynamic programmingMedium
    107. Count palindromic substringsstring · two pointers · dynamic programmingMedium
    108. Minimum path sumdynamic programming · matrixMedium
    109. Grid paths with obstaclesdynamic programming · matrixMedium
    110. House robber on a circledynamic programming · arrayMedium
    111. Maximum product subarraydynamic programming · arrayMedium
    112. Interleaving stringsdynamic programming · stringMedium
    113. Target sum with signsdynamic programming · backtracking · arrayMedium
    114. Distinct subsequencesdynamic programming · stringHard
    115. Longest increasing path in a matrixdynamic programming · dfs · memoization · matrixHard
    116. Combination sumbacktracking · recursion · arrayMedium
    117. Generate parenthesesbacktracking · recursion · stringMedium
    118. Phone number lettersbacktracking · string · hash mapMedium
    119. Word searchbacktracking · dfs · matrixMedium
    120. Palindrome partitioningbacktracking · string · dynamic programmingMedium
    121. N-queens countbacktracking · recursionHard
    122. Valid sudokuhash set · matrixMedium
    123. Longest repeat after k replacementsstring · sliding window · hash mapMedium
    124. Permutation in a stringstring · sliding window · hash mapMedium
    125. Shortest subarray reaching a sumarray · sliding window · prefix sumsMedium
    126. Sort three coloursarray · two pointers · sortingMedium
    127. Next permutationarray · two pointers · mathMedium
    128. Insert an intervalarray · intervalsMedium
    129. Fewest intervals to removegreedy · intervals · sortingMedium
    130. Meeting rooms neededintervals · sorting · heap · greedyMedium
    131. Search a sorted matrixbinary search · matrixMedium
    132. Minimum in a rotated sorted arraybinary search · arrayMedium
    133. Slowest eating speed that worksbinary search · arrayMedium
    134. Run-length compressionstring · two pointersEasy
    135. Is subsequencestring · two pointersEasy
    136. Palindrome after one deletionstring · two pointers · greedyEasy
    137. Counting bitsbit manipulation · dynamic programmingEasy
    138. Happy numbermath · hash set · fast and slow pointersEasy
    139. Gas stationgreedy · arrayMedium
    140. Car fleetsstack · sorting · monotonic stackMedium
    141. Largest rectangle in a histogramstack · monotonic stack · arrayHard
    142. Isomorphic stringsstring · hash mapEasy
    143. Fast powermath · recursion · divide and conquerMedium
    144. Top students in Cairosql · select · where · order byEasy
    145. Students per citysql · group by · countEasy
    146. Students with no enrollmentsql · left join · nullEasy
    147. Duplicate emailssql · group by · havingEasy
    148. Most popular coursesql · join · group by · subqueryEasy
    149. Second highest salarysql · subquery · limit offset · nullMedium
    150. Top earners per departmentsql · join · window functions · subqueryMedium
    151. Average score per coursesql · group by · having · aggregateMedium
    152. Running total of paymentssql · window functionsMedium
    153. Rank the scoressql · window functions · dense rankMedium
    154. Monthly revenuesql · group by · dates · whereMedium
    155. Managers with three or more reportssql · self join · group by · havingMedium
    156. Each customer's first ordersql · join · group by · aggregateMedium
    157. Three-day login streakssql · window functions · gaps and islands · datesHard
    158. Daily cancellation ratesql · join · group by · caseHard
    159. Top two salaries per departmentsql · window functions · dense rank · joinHard
    160. Course completion ratesql · group by · case · aggregateMedium
    SeaCode

    Learn to code for real, online or at our branch in front of Cairo University, Giza.

    Learn

    • All courses
    • Interactive tutorials
    • Interview practice problems
    • Mock interview
    • Learning tracks
    • Code Arena
    • Workshops & Events
    • Knowledge library
    • Team projects

    Your account

    • Log in
    • Sign up
    • Learning plan
    • Certificates
    • Site map

    Contact us

    • WhatsApp
    • 010 9094 1104
    • In front of Cairo University, Giza

    © 2026 SeaCode. All rights reserved.