โ† All topics

๐Ÿงฎ Interview Prep

Core Algorithms

Arrays, strings, hash maps, two pointers, sliding windows, stacks, binary search and linked lists: the coding rounds at almost every company.

100 questions, most asked first

Ranked by how often each question comes up in real interviews. #1 is the most common.

#1Two SumHash mapEasyFree#2Valid ParenthesesStackEasyFree#3Best Time to Buy and Sell StockGreedyEasyFree#4Merge IntervalsIntervalsMediumFree#5Longest Substring Without Repeating CharactersSliding windowMediumFree#6Group AnagramsHash mapMediumFree#7Maximum SubarrayGreedyMediumFree#8Product of Array Except SelfPrefix sumMediumFree#93SumTwo pointersMediumFree#10Container With Most WaterTwo pointersMediumFreeUnlock 90 more Core Algorithms questions ยท all 1,200 questions for $39/year (about 11ยข a day)See full access#11Valid AnagramHash mapEasy๐Ÿ”’#12Top K Frequent ElementsHash mapMedium๐Ÿ”’#13Contains DuplicateHash mapEasy๐Ÿ”’#14Reverse Linked ListLinked listEasy๐Ÿ”’#15Merge Two Sorted ListsLinked listEasy๐Ÿ”’#16Binary SearchBinary searchEasy๐Ÿ”’#17Search in Rotated Sorted ArrayBinary searchMedium๐Ÿ”’#18Valid PalindromeTwo pointersEasy๐Ÿ”’#19Longest Consecutive SequenceHash mapMedium๐Ÿ”’#20Subarray Sum Equals KPrefix sumMedium๐Ÿ”’#21Move ZeroesTwo pointersEasy๐Ÿ”’#22Trapping Rain WaterTwo pointersHard๐Ÿ”’#23Linked List CycleLinked listEasy๐Ÿ”’#24Min StackDesignMedium๐Ÿ”’#25LRU CacheDesignMedium๐Ÿ”’#26Daily TemperaturesMonotonic stackMedium๐Ÿ”’#27First Unique Character in a StringHash mapEasy๐Ÿ”’#28Find Minimum in Rotated Sorted ArrayBinary searchMedium๐Ÿ”’#29Rotate ImageMatrixMedium๐Ÿ”’#30Spiral MatrixMatrixMedium๐Ÿ”’#31Set Matrix ZeroesMatrixMedium๐Ÿ”’#32Remove Nth Node From End of ListLinked listMedium๐Ÿ”’#33Longest Repeating Character ReplacementSliding windowMedium๐Ÿ”’#34Minimum Window SubstringSliding windowHard๐Ÿ”’#35Insert IntervalIntervalsMedium๐Ÿ”’#36Non-overlapping IntervalsIntervalsMedium๐Ÿ”’#37Meeting RoomsIntervalsEasy๐Ÿ”’#38Meeting Rooms IIIntervalsMedium๐Ÿ”’#39Jump GameGreedyMedium๐Ÿ”’#40Gas StationGreedyMedium๐Ÿ”’#41Two Sum II (Sorted Input)Two pointersMedium๐Ÿ”’#42Majority ElementHash mapEasy๐Ÿ”’#43Rotate ArrayTwo pointersMedium๐Ÿ”’#44Merge Sorted ArrayTwo pointersEasy๐Ÿ”’#45Remove Duplicates from Sorted ArrayTwo pointersEasy๐Ÿ”’#46Reverse Words in a StringTwo pointersMedium๐Ÿ”’#47Valid SudokuHash mapMedium๐Ÿ”’#48Encode and Decode StringsDesignMedium๐Ÿ”’#49Evaluate Reverse Polish NotationStackMedium๐Ÿ”’#50Largest Rectangle in HistogramMonotonic stackHard๐Ÿ”’#51Koko Eating BananasBinary searchMedium๐Ÿ”’#52Search a 2D MatrixBinary searchMedium๐Ÿ”’#53Median of Two Sorted ArraysBinary searchHard๐Ÿ”’#54Time Based Key-Value StoreBinary searchMedium๐Ÿ”’#55Reorder ListLinked listMedium๐Ÿ”’#56Add Two NumbersLinked listMedium๐Ÿ”’#57Copy List with Random PointerLinked listMedium๐Ÿ”’#58Merge K Sorted ListsLinked listHard๐Ÿ”’#59Find the Duplicate NumberLinked listMedium๐Ÿ”’#60Permutation in StringSliding windowMedium๐Ÿ”’#61Sliding Window MaximumMonotonic stackHard๐Ÿ”’#62Longest Common PrefixSortingEasy๐Ÿ”’#63Roman to IntegerHash mapEasy๐Ÿ”’#64Integer to RomanGreedyMedium๐Ÿ”’#65Plus OneBits & mathEasy๐Ÿ”’#66Pow(x, n)Bits & mathMedium๐Ÿ”’#67Sqrt(x)Binary searchEasy๐Ÿ”’#68Single NumberBits & mathEasy๐Ÿ”’#69Number of 1 BitsBits & mathEasy๐Ÿ”’#70Counting BitsBits & mathEasy๐Ÿ”’#71Missing NumberBits & mathEasy๐Ÿ”’#72Reverse BitsBits & mathEasy๐Ÿ”’#73Sum of Two Integers Without +Bits & mathMedium๐Ÿ”’#74Reverse IntegerBits & mathMedium๐Ÿ”’#75Happy NumberHash mapEasy๐Ÿ”’#76Palindrome NumberBits & mathEasy๐Ÿ”’#77Isomorphic StringsHash mapEasy๐Ÿ”’#78Ransom NoteHash mapEasy๐Ÿ”’#79Sort ColorsTwo pointersMedium๐Ÿ”’#80Sort an Array (Merge Sort)SortingMedium๐Ÿ”’#81Next Greater ElementMonotonic stackEasy๐Ÿ”’#82Asteroid CollisionStackMedium๐Ÿ”’#83Decode StringStackMedium๐Ÿ”’#84Basic Calculator IIStackMedium๐Ÿ”’#85Simplify PathStackMedium๐Ÿ”’#86Implement Queue using StacksDesignEasy๐Ÿ”’#87Find All Anagrams in a StringSliding windowMedium๐Ÿ”’#88Max Consecutive Ones IIISliding windowMedium๐Ÿ”’#89Minimum Size Subarray SumSliding windowMedium๐Ÿ”’#90Range Sum Query (Immutable)Prefix sumEasy๐Ÿ”’#91Middle of the Linked ListLinked listEasy๐Ÿ”’#92Palindrome Linked ListLinked listEasy๐Ÿ”’#93Intersection of Two Linked ListsLinked listEasy๐Ÿ”’#94Squares of a Sorted ArrayTwo pointersEasy๐Ÿ”’#95Find Pivot IndexPrefix sumEasy๐Ÿ”’#96Continuous Subarray SumPrefix sumMedium๐Ÿ”’#97Partition LabelsGreedyMedium๐Ÿ”’#98Hand of StraightsGreedyMedium๐Ÿ”’#99Insert Delete GetRandom O(1)DesignMedium๐Ÿ”’#100Game of LifeMatrixMedium๐Ÿ”’