Skip to content

Interview Solver

FeaturesPricingHelp
Sign In
FeaturesPricingHelpSign In
Interview Questions›Topics›Dynamic Programming

Dynamic Programming Interview Questions

Master 506 dynamic programming problems frequently asked in technical interviews. These questions test your understanding of dynamic programmingconcepts and are essential for coding interview success.

506
Total Problems
12
Easy
260
Medium
234
Hard

Related Topics

ArrayStringMathBit ManipulationGreedyMatrixHash TableSorting
#2710MediumFrequency: 100%

Minimum Operations to Reduce an Integer to 0

Asked at Salesforce
Dynamic ProgrammingGreedyBit Manipulation
#1
Rank
#1352HardFrequency: 93%

Maximum Profit in Job Scheduling

Asked at Airbnb
ArrayBinary SearchDynamic ProgrammingSorting
#2
Rank
#329HardFrequency: 92.5%

Longest Increasing Path in a Matrix

Asked at DoorDash
ArrayDynamic ProgrammingDepth-First SearchBreadth-First SearchGraph TheoryTopological SortMemoizationMatrixDirected Acyclic Graph
#3
Rank
#124HardFrequency: 90.2%

Binary Tree Maximum Path Sum

Asked at DoorDash
Dynamic ProgrammingTreeDepth-First SearchBinary TreeDP on Trees
#4
Rank
#300MediumFrequency: 89.7%

Longest Increasing Subsequence

Asked at TikTok
ArrayBinary SearchDynamic ProgrammingLongest Increasing Subsequence
#5
Rank
#42HardFrequency: 88%

Trapping Rain Water

Asked at Amazon
ArrayTwo PointersDynamic ProgrammingStackMonotonic Stack
#6
Rank
#121EasyFrequency: 83.8%

Best Time to Buy and Sell Stock

Asked at Amazon
ArrayDynamic Programming
#7
Rank
#198MediumFrequency: 83.7%

House Robber

Asked at Databricks
ArrayDynamic Programming
#8
Rank
#53MediumFrequency: 81.1%

Maximum Subarray

Asked at Infosys
ArrayDivide and ConquerDynamic Programming
#9
Rank
#5MediumFrequency: 80.5%

Longest Palindromic Substring

Asked at Microsoft
Two PointersStringDynamic ProgrammingManacher
#10
Rank
#2464MediumFrequency: 79.6%

Time Needed to Rearrange a Binary String

Asked at Salesforce
StringDynamic ProgrammingSimulation
#11
Rank
#213MediumFrequency: 78.1%

House Robber II

Asked at Databricks
ArrayDynamic Programming
#12
Rank
#3608HardFrequency: 76.9%

Find the Number of Subsequences With Equal GCD

Asked at Infosys
ArrayMathDynamic ProgrammingNumber TheoryEuclidean AlgorithmGreatest Common Divisor
#13
Rank
#3105HardFrequency: 76.8%

Minimum Edge Reversals So Every Node Is Reachable

Asked at Uber
Dynamic ProgrammingDepth-First SearchBreadth-First SearchGraph Theory
#14
Rank
#2147HardFrequency: 76.6%

The Score of Students Solving Math Expression

Asked at Flipkart
ArrayHash TableMathStringDynamic ProgrammingStackMemoization
#15
Rank
#221MediumFrequency: 76%

Maximal Square

Asked at PayPal
ArrayDynamic ProgrammingMatrix
#16
Rank
#787HardFrequency: 75.6%

Sliding Puzzle

Asked at Airbnb
ArrayDynamic ProgrammingBacktrackingBreadth-First SearchMemoizationMatrixHeuristic SearchBidirectional SearchA* Search
#17
Rank
#1583HardFrequency: 73.2%

Paint House III

Asked at PayPal
ArrayDynamic Programming
#18
Rank
#322MediumFrequency: 73.2%

Coin Change

Asked at PayPal
ArrayDynamic ProgrammingBreadth-First SearchKnapsack ProblemComplete Knapsack
#19
Rank
#152MediumFrequency: 72.5%

Maximum Product Subarray

Asked at LinkedIn
ArrayDynamic Programming
#20
Rank
#3875HardFrequency: 69.8%

Maximum Good Subtree Score

Asked at Infosys
ArrayDynamic ProgrammingBit ManipulationTreeDepth-First SearchBitmask
#21
Rank
#698MediumFrequency: 69.2%

Partition to K Equal Sum Subsets

Asked at LinkedIn
ArrayDynamic ProgrammingBacktrackingBit ManipulationMemoizationBitmask
#22
Rank
#22MediumFrequency: 69.1%

Generate Parentheses

Asked at Amazon
StringDynamic ProgrammingBacktrackingBracket Sequences
#23
Rank
#55MediumFrequency: 67.9%

Jump Game

Asked at Amazon
ArrayDynamic ProgrammingGreedy
#24
Rank
#3230MediumFrequency: 67.8%

Remove Adjacent Almost-Equal Characters

Asked at Salesforce
StringDynamic ProgrammingGreedy
#25
Rank
#70EasyFrequency: 67.6%

Climbing Stairs

Asked at Infosys
MathDynamic ProgrammingMemoization
#26
Rank
#2415HardFrequency: 67.6%

Count the Number of Ideal Arrays

Asked at Infosys
MathDynamic ProgrammingCombinatoricsNumber TheoryPrime FactorizationFermat's Little Theorem
#27
Rank
#122MediumFrequency: 66%

Best Time to Buy and Sell Stock II

Asked at Apple
ArrayDynamic ProgrammingGreedy
#28
Rank
#256MediumFrequency: 65.8%

Paint House

Asked at LinkedIn
ArrayDynamic Programming
#29
Rank
#10HardFrequency: 65.5%

Regular Expression Matching

Asked at Airbnb
StringDynamic ProgrammingRecursion
#30
Rank
#1385MediumFrequency: 65.5%

Number of Ways to Build House of Cards

Asked at Airbnb
MathDynamic Programming
#31
Rank
#803MediumFrequency: 65.5%

Cheapest Flights Within K Stops

Asked at Airbnb
Dynamic ProgrammingDepth-First SearchBreadth-First SearchGraph TheoryHeap (Priority Queue)Shortest Path
#32
Rank
#638MediumFrequency: 65.5%

Shopping Offers

Asked at Airbnb
ArrayDynamic ProgrammingBacktrackingBit ManipulationMemoizationBitmaskKnapsack ProblemComplete Knapsack
#33
Rank
#2002HardFrequency: 65.2%

Stone Game VIII

Asked at Infosys
ArrayMathDynamic ProgrammingMinimaxPrefix SumGame TheoryZero-Sum Game
#34
Rank
#3956HardFrequency: 65.2%

Trionic Array II

Asked at Infosys
ArrayDynamic Programming
#35
Rank
#3982HardFrequency: 65.2%

Maximum Walls Destroyed by Robots

Asked at Infosys
ArrayBinary SearchDynamic ProgrammingSorting
#36
Rank
#678MediumFrequency: 63.4%

Valid Parenthesis String

Asked at TikTok
StringDynamic ProgrammingStackGreedyBracket Sequences
#37
Rank
#115HardFrequency: 63.3%

Distinct Subsequences

Asked at Salesforce
StringDynamic Programming
#38
Rank
#647MediumFrequency: 63%

Palindromic Substrings

Asked at Meta
Two PointersStringDynamic Programming
#39
Rank
#3423HardFrequency: 62.5%

Maximum Sum of Subsequence With Non-adjacent Elements

Asked at Infosys
ArrayDivide and ConquerDynamic ProgrammingSegment Tree
#40
Rank
#2554HardFrequency: 62.5%

Minimum Total Distance Traveled

Asked at Infosys
ArrayDynamic ProgrammingSorting
#41
Rank
#2696MediumFrequency: 62.5%

The Number of Beautiful Subsets

Asked at Infosys
ArrayHash TableMathDynamic ProgrammingBacktrackingSortingCombinatorics
#42
Rank
#3017HardFrequency: 62.5%

Number of Beautiful Integers in the Range

Asked at Infosys
MathDynamic Programming
#43
Rank
#3977HardFrequency: 62.5%

Count Non Adjacent Subsets in a Rooted Tree

Asked at Infosys
ArrayDynamic ProgrammingTreeDepth-First Search
#44
Rank
#62MediumFrequency: 61.4%

Unique Paths

Asked at Amazon
MathDynamic ProgrammingCombinatorics
#45
Rank
#118EasyFrequency: 60.6%

Pascal's Triangle

Asked at Amazon
ArrayDynamic Programming
#46
Rank
#139MediumFrequency: 60.5%

Word Break

Asked at Uber
ArrayHash TableStringDynamic ProgrammingTrieMemoizationBrute-Force Search
#47
Rank
#1559HardFrequency: 59.8%

Cherry Pickup II

Asked at Flipkart
ArrayDynamic ProgrammingMatrix
#48
Rank
#943MediumFrequency: 59.8%

Sum of Subarray Minimums

Asked at Flipkart
ArrayDynamic ProgrammingStackMonotonic Stack
#49
Rank
#45MediumFrequency: 59.4%

Jump Game II

Asked at Amazon
ArrayDynamic ProgrammingGreedy
#50
Rank
#1013EasyFrequency: 59.4%

Fibonacci Number

Asked at Infosys
MathDynamic ProgrammingRecursionMemoization
#51
Rank
#72MediumFrequency: 59.3%

Edit Distance

Asked at TikTok
StringDynamic Programming
#52
Rank
#140HardFrequency: 59.3%

Word Break II

Asked at TikTok
ArrayHash TableStringDynamic ProgrammingBacktrackingTrieMemoization
#53
Rank
#3638HardFrequency: 59.3%

Minimum Operations to Make Character Frequencies Equal

Asked at TikTok
Hash TableStringDynamic ProgrammingCountingEnumeration
#54
Rank
#3701HardFrequency: 59.3%

Minimum Cost Good Caption

Asked at TikTok
StringDynamic Programming
#55
Rank
#741HardFrequency: 59.1%

Cherry Pickup

Asked at Uber
ArrayDynamic ProgrammingMatrix
#56
Rank
#1178HardFrequency: 57.8%

Valid Palindrome III

Asked at Meta
StringDynamic Programming
#57
Rank
#410HardFrequency: 57.6%

Split Array Largest Sum

Asked at Google
ArrayBinary SearchDynamic ProgrammingGreedyPrefix Sum
#58
Rank
#740MediumFrequency: 57.5%

Delete and Earn

Asked at Salesforce
ArrayHash TableDynamic Programming
#59
Rank
#1633HardFrequency: 56.5%

Minimum Number of Increments on Subarrays to Form a Target Array

Asked at Google
ArrayDynamic ProgrammingStackGreedyMonotonic Stack
#60
Rank
#516MediumFrequency: 56.3%

Longest Palindromic Subsequence

Asked at LinkedIn
StringDynamic Programming
#61
Rank
#3032HardFrequency: 55.8%

Maximize Value of Function in a Ball Passing Game

Asked at Oracle
ArrayDynamic ProgrammingBit Manipulation
#62
Rank
#3294MediumFrequency: 55.1%

Number of Self-Divisible Permutations

Asked at Salesforce
ArrayMathDynamic ProgrammingBacktrackingBit ManipulationNumber TheoryBitmask
#63
Rank
#3441MediumFrequency: 55.1%

Equalize Strings by Adding or Removing Characters at Ends

Asked at Salesforce
StringBinary SearchDynamic ProgrammingSliding WindowHash Function
#64
Rank
#3460HardFrequency: 55.1%

Count the Number of Inversions

Asked at Salesforce
ArrayDynamic Programming
#65
Rank
#1778HardFrequency: 55.1%

Maximize Grid Happiness

Asked at Salesforce
Dynamic ProgrammingBit ManipulationMemoizationBitmask
#66
Rank
#1250MediumFrequency: 55.1%

Longest Common Subsequence

Asked at Salesforce
StringDynamic ProgrammingLongest Common Subsequence
#67
Rank
#714MediumFrequency: 55%

Best Time to Buy and Sell Stock with Transaction Fee

Asked at Apple
ArrayDynamic ProgrammingGreedy
#68
Rank
#3806MediumFrequency: 54.1%

Maximum Coin Collection

Asked at Uber
ArrayDynamic Programming
#69
Rank
#464MediumFrequency: 53.7%

Can I Win

Asked at LinkedIn
MathDynamic ProgrammingBit ManipulationMemoizationGame TheoryBitmask
#70
Rank
#2562MediumFrequency: 53.4%

Count Ways To Build Good Strings

Asked at Oracle
Dynamic Programming
#71
Rank
#1732HardFrequency: 53.4%

Minimum One Bit Operations to Make Integers Zero

Asked at Oracle
MathDynamic ProgrammingBit ManipulationRecursionMemoization
#72
Rank
#1461HardFrequency: 53.4%

Count All Valid Pickup and Delivery Options

Asked at DoorDash
MathDynamic ProgrammingCombinatorics
#73
Rank
#64MediumFrequency: 53.3%

Minimum Path Sum

Asked at Microsoft
ArrayDynamic ProgrammingMatrix
#74
Rank
#472HardFrequency: 53%

Concatenated Words

Asked at Amazon
ArrayStringDynamic ProgrammingDepth-First SearchTrieSorting
#75
Rank
#174HardFrequency: 52.9%

Dungeon Game

Asked at Flipkart
ArrayDynamic ProgrammingMatrix
#76
Rank
#354HardFrequency: 52.7%

Russian Doll Envelopes

Asked at Google
ArrayBinary SearchDynamic ProgrammingSortingLongest Increasing Subsequence
#77
Rank
#91MediumFrequency: 52.1%

Decode Ways

Asked at Uber
StringDynamic Programming
#78
Rank
#337MediumFrequency: 52.1%

House Robber III

Asked at Uber
Dynamic ProgrammingTreeDepth-First SearchBinary TreeDP on Trees
#79
Rank
#416MediumFrequency: 52%

Partition Equal Subset Sum

Asked at Amazon
ArrayDynamic ProgrammingKnapsack Problem0-1 Knapsack
#80
Rank
#403HardFrequency: 51.8%

Frog Jump

Asked at Infosys
ArrayDynamic Programming
#81
Rank
#32HardFrequency: 51.7%

Longest Valid Parentheses

Asked at Meta
StringDynamic ProgrammingStackBracket Sequences
#82
Rank
#542MediumFrequency: 51.3%

01 Matrix

Asked at DoorDash
ArrayDynamic ProgrammingBreadth-First SearchMatrix
#83
Rank
#85HardFrequency: 51.1%

Maximal Rectangle

Asked at Google
ArrayDynamic ProgrammingStackMatrixMonotonic Stack
#84
Rank
#1038HardFrequency: 51%

Number of Squareful Arrays

Asked at Apple
ArrayHash TableMathDynamic ProgrammingBacktrackingBit ManipulationBitmask
#85
Rank
#131MediumFrequency: 50.4%

Palindrome Partitioning

Asked at Amazon
StringDynamic ProgrammingBacktracking
#86
Rank
#3751MediumFrequency: 48.9%

Maximum Frequency After Subarray Operation

Asked at Amazon
ArrayHash TableDynamic ProgrammingGreedyEnumerationPrefix Sum
#87
Rank
#473MediumFrequency: 48%

Matchsticks to Square

Asked at TikTok
ArrayDynamic ProgrammingBacktrackingBit ManipulationBitmask
#88
Rank
#923HardFrequency: 48%

Super Egg Drop

Asked at TikTok
MathBinary SearchDynamic Programming
#89
Rank
#875MediumFrequency: 48%

Longest Mountain in Array

Asked at TikTok
ArrayTwo PointersDynamic ProgrammingEnumeration
#90
Rank
#465HardFrequency: 47.5%

Optimal Account Balancing

Asked at Uber
ArrayDynamic ProgrammingBacktrackingBit ManipulationBitmask
#91
Rank
#1111MediumFrequency: 47.5%

Minimum Score Triangulation of Polygon

Asked at Uber
ArrayDynamic ProgrammingTriangulationPolygons
#92
Rank
#1456MediumFrequency: 47.5%

Find the City With the Smallest Number of Neighbors at a Threshold Distance

Asked at Uber
Dynamic ProgrammingGraph TheoryShortest PathDijkstra's AlgorithmBellman–Ford AlgorithmFloyd–Warshall Algorithm
#93
Rank
#3198HardFrequency: 47.5%

Number of Ways to Reach Destination in the Grid

Asked at Uber
MathDynamic ProgrammingCombinatorics
#94
Rank
#3477MediumFrequency: 47.5%

Minimum Operations to Make Binary Array Elements Equal to One II

Asked at Uber
ArrayDynamic ProgrammingGreedy
#95
Rank
#2426MediumFrequency: 47.4%

Maximum Profit From Trading Stocks

Asked at Oracle
ArrayDynamic Programming
#96
Rank
#583MediumFrequency: 46.7%

Delete Operation for Two Strings

Asked at Infosys
StringDynamic ProgrammingLongest Common Subsequence
#97
Rank
#132HardFrequency: 46.7%

Palindrome Partitioning II

Asked at Infosys
StringDynamic Programming
#98
Rank
#44HardFrequency: 45.8%

Wildcard Matching

Asked at Microsoft
StringDynamic ProgrammingGreedyRecursion
#99
Rank
#1451HardFrequency: 45.7%

Minimum Number of Taps to Open to Water a Garden

Asked at Salesforce
ArrayDynamic ProgrammingGreedy
#100
Rank
#1220HardFrequency: 45.2%

Smallest Sufficient Team

Asked at Airbnb
ArrayDynamic ProgrammingBit ManipulationBitmask
#101
Rank
#123HardFrequency: 45%

Best Time to Buy and Sell Stock III

Asked at Meta
ArrayDynamic Programming
#102
Rank
#2559HardFrequency: 44.7%

Maximum Number of Non-overlapping Palindrome Substrings

Asked at LinkedIn
Two PointersStringDynamic ProgrammingGreedy
#103
Rank
#2570MediumFrequency: 44.7%

Maximize Total Tastiness of Purchased Fruits

Asked at LinkedIn
ArrayDynamic Programming
#104
Rank
#730HardFrequency: 44.7%

Count Different Palindromic Subsequences

Asked at LinkedIn
StringDynamic Programming
#105
Rank
#4065HardFrequency: 44.7%

Count Sequences to K

Asked at LinkedIn
ArrayMathDynamic ProgrammingMemoizationNumber Theory
#106
Rank
#4149MediumFrequency: 44.7%

Minimum Increase to Maximize Special Indices

Asked at LinkedIn
ArrayDynamic ProgrammingGreedyPrefix Sum
#107
Rank
#494MediumFrequency: 44.1%

Target Sum

Asked at Amazon
ArrayDynamic ProgrammingBacktrackingKnapsack Problem0-1 Knapsack
#108
Rank
#938HardFrequency: 44%

Numbers At Most N Given Digit Set

Asked at TikTok
ArrayMathStringBinary SearchDynamic Programming
#109
Rank
#392EasyFrequency: 43.3%

Is Subsequence

Asked at Meta
Two PointersStringDynamic Programming
#110
Rank
#1196MediumFrequency: 43.2%

Filling Bookcase Shelves

Asked at Flipkart
ArrayDynamic Programming
#111
Rank
#2867MediumFrequency: 43.2%

Ways to Split Array Into Good Subarrays

Asked at Flipkart
ArrayMathDynamic Programming
#112
Rank
#435MediumFrequency: 43.1%

Non-overlapping Intervals

Asked at Amazon
ArrayDynamic ProgrammingGreedySorting
#113
Rank
#747EasyFrequency: 43.1%

Min Cost Climbing Stairs

Asked at Amazon
ArrayDynamic Programming
#114
Rank
#2040HardFrequency: 43%

Minimum Cost to Reach Destination in Time

Asked at Databricks
ArrayDynamic ProgrammingGraph TheoryDijkstra's Algorithm
#115
Rank
#312HardFrequency: 41.7%

Burst Balloons

Asked at Google
ArrayDynamic Programming
#116
Rank
#808MediumFrequency: 41.6%

Number of Matching Subsequences

Asked at Uber
ArrayHash TableStringBinary SearchDynamic ProgrammingTrieSorting
#117
Rank
#1025MediumFrequency: 41.6%

Minimum Cost For Tickets

Asked at Uber
ArrayDynamic Programming
#118
Rank
#1457HardFrequency: 41.5%

Minimum Difficulty of a Job Schedule

Asked at Microsoft
ArrayDynamic Programming
#119
Rank
#233HardFrequency: 41.2%

Number of Digit One

Asked at Salesforce
MathDynamic ProgrammingRecursion
#120
Rank
#1766HardFrequency: 40.9%

Minimum Number of Removals to Make Mountain Array

Asked at PayPal
ArrayBinary SearchDynamic ProgrammingGreedy
#121
Rank
#1129MediumFrequency: 40.9%

Longest String Chain

Asked at PayPal
ArrayHash TableTwo PointersStringDynamic ProgrammingSorting
#122
Rank
#63MediumFrequency: 40.8%

Unique Paths II

Asked at Amazon
ArrayDynamic ProgrammingMatrix
#123
Rank
#1170HardFrequency: 40.5%

Shortest Common Supersequence

Asked at Microsoft
StringDynamic ProgrammingLongest Common Subsequence
#124
Rank
#2267HardFrequency: 40.2%

Minimum Difference in Sums After Removal of Elements

Asked at Infosys
ArrayDynamic ProgrammingHeap (Priority Queue)
#125
Rank
#954MediumFrequency: 40.2%

Maximum Sum Circular Subarray

Asked at Infosys
ArrayDivide and ConquerDynamic ProgrammingQueueMonotonic Queue
#126
Rank
#368MediumFrequency: 39.5%

Largest Divisible Subset

Asked at Google
ArrayMathDynamic ProgrammingSorting
#127
Rank
#309MediumFrequency: 39.4%

Best Time to Buy and Sell Stock with Cooldown

Asked at Apple
ArrayDynamic Programming
#128
Rank
#265HardFrequency: 39.4%

Paint House II

Asked at LinkedIn
ArrayDynamic Programming
#129
Rank
#188HardFrequency: 39.1%

Best Time to Buy and Sell Stock IV

Asked at TikTok
ArrayDynamic Programming
#130
Rank
#650MediumFrequency: 39.1%

2 Keys Keyboard

Asked at TikTok
MathDynamic Programming
#131
Rank
#2780MediumFrequency: 39.1%

Make Costs of Paths Equal in a Binary Tree

Asked at TikTok
ArrayDynamic ProgrammingGreedyTreeBinary Tree
#132
Rank
#3654MediumFrequency: 39.1%

Minimum Array Sum

Asked at Oracle
ArrayDynamic Programming
#133
Rank
#279MediumFrequency: 38.2%

Perfect Squares

Asked at Google
MathDynamic ProgrammingBreadth-First SearchKnapsack ProblemComplete Knapsack
#134
Rank
#518MediumFrequency: 38.2%

Coin Change II

Asked at Amazon
ArrayDynamic ProgrammingKnapsack ProblemComplete Knapsack
#135
Rank
#902HardFrequency: 37.9%

Minimum Number of Refueling Stops

Asked at Uber
ArrayDynamic ProgrammingGreedyHeap (Priority Queue)
#136
Rank
#120MediumFrequency: 37.4%

Triangle

Asked at Amazon
ArrayDynamic Programming
#137
Rank
#1402MediumFrequency: 37.3%

Count Square Submatrices with All Ones

Asked at Google
ArrayDynamic ProgrammingMatrix
#138
Rank
#1756MediumFrequency: 37%

Minimum Deletions to Make String Balanced

Asked at Microsoft
StringDynamic ProgrammingStack
#139
Rank
#727HardFrequency: 36.9%

Minimum Window Subsequence

Asked at Airbnb
StringDynamic ProgrammingSliding Window
#140
Rank
#689HardFrequency: 36.8%

Maximum Sum of 3 Non-Overlapping Subarrays

Asked at Meta
ArrayDynamic ProgrammingSliding WindowPrefix Sum
#141
Rank
#96MediumFrequency: 36.8%

Unique Binary Search Trees

Asked at Meta
MathDynamic ProgrammingTreeBinary Search TreeBinary Tree
#142
Rank
#97MediumFrequency: 36.7%

Interleaving String

Asked at Amazon
StringDynamic Programming
#143
Rank
#486MediumFrequency: 36.7%

Predict the Winner

Asked at Amazon
ArrayMathDynamic ProgrammingRecursionMinimaxGame TheoryZero-Sum Game
#144
Rank
#1017HardFrequency: 35.8%

Odd Even Jump

Asked at Google
ArrayDynamic ProgrammingStackSortingMonotonic StackOrdered Set
#145
Rank
#1087MediumFrequency: 35.7%

Longest Arithmetic Subsequence

Asked at Microsoft
ArrayHash TableBinary SearchDynamic Programming
#146
Rank
#2577HardFrequency: 35.7%

Count Palindromic Subsequences

Asked at Microsoft
StringDynamic Programming
#147
Rank
#930MediumFrequency: 35.6%

All Possible Full Binary Trees

Asked at Salesforce
Dynamic ProgrammingTreeRecursionMemoizationBinary Tree
#148
Rank
#664HardFrequency: 35.6%

Strange Printer

Asked at Salesforce
StringDynamic Programming
#149
Rank
#836HardFrequency: 35.3%

Race Car

Asked at Google
Dynamic ProgrammingHeuristic SearchA* Search
#150
Rank
#1008HardFrequency: 35.1%

Binary Tree Cameras

Asked at Amazon
Dynamic ProgrammingTreeDepth-First SearchBinary TreeDP on Trees
#151
Rank
#1475HardFrequency: 35.1%

Maximum Sum BST in Binary Tree

Asked at Amazon
Dynamic ProgrammingTreeDepth-First SearchBinary Search TreeBinary TreeDP on Trees
#152
Rank
#3604HardFrequency: 35.1%

Find the Number of Possible Ways for an Event

Asked at Amazon
MathDynamic ProgrammingCombinatorics
#153
Rank
#3949MediumFrequency: 35.1%

Minimum Number of Primes to Sum to Target

Asked at Amazon
ArrayMathDynamic ProgrammingNumber Theory
#154
Rank
#688MediumFrequency: 35%

Knight Probability in Chessboard

Asked at Apple
Dynamic Programming
#155
Rank
#806MediumFrequency: 34.8%

Domino and Tromino Tiling

Asked at Google
Dynamic Programming
#156
Rank
#823HardFrequency: 34.3%

Split Array With Same Average

Asked at Microsoft
ArrayHash TableMathDynamic ProgrammingBit ManipulationMeet in the MiddleBitmask
#157
Rank
#2162HardFrequency: 34.2%

Partition Array Into Two Arrays to Minimize Sum Difference

Asked at Google
ArrayTwo PointersBinary SearchDynamic ProgrammingBit ManipulationMeet in the MiddleSortingOrdered SetBitmask
#158
Rank
#2295HardFrequency: 34.2%

Minimum Time to Finish the Race

Asked at Google
ArrayDynamic Programming
#159
Rank
#967MediumFrequency: 34.2%

Minimum Falling Path Sum

Asked at Amazon
ArrayDynamic ProgrammingMatrix
#160
Rank
#377MediumFrequency: 33.7%

Combination Sum IV

Asked at Google
ArrayDynamic Programming
#161
Rank
#2118MediumFrequency: 33.5%

Maximum Earnings From Taxi

Asked at Uber
ArrayHash TableBinary SearchDynamic ProgrammingSorting
#162
Rank
#804MediumFrequency: 33.5%

Rotated Digits

Asked at Uber
MathDynamic Programming
#163
Rank
#3273MediumFrequency: 33.3%

Most Expensive Item That Can Not Be Bought

Asked at Amazon
MathDynamic ProgrammingNumber Theory
#164
Rank
#956HardFrequency: 33.3%

Number of Music Playlists

Asked at Oracle
MathDynamic ProgrammingCombinatorics
#165
Rank
#815MediumFrequency: 33%

Champagne Tower

Asked at TikTok
Dynamic Programming
#166
Rank
#3092MediumFrequency: 33%

Minimum Moves to Spread Stones Over Grid

Asked at TikTok
ArrayDynamic ProgrammingBacktrackingBit ManipulationMatrixBitmask
#167
Rank
#1121MediumFrequency: 33%

Partition Array for Maximum Sum

Asked at TikTok
ArrayDynamic Programming
#168
Rank
#826MediumFrequency: 32.4%

Soup Servings

Asked at Google
MathDynamic ProgrammingProbability and Statistics
#169
Rank
#241MediumFrequency: 32.3%

Different Ways to Add Parentheses

Asked at Amazon
MathStringDynamic ProgrammingRecursionMemoizationBracket Sequences
#170
Rank
#863HardFrequency: 31.8%

Sum of Distances in Tree

Asked at Google
Dynamic ProgrammingTreeDepth-First SearchGraph TheoryDP on Trees
#171
Rank
#3903MediumFrequency: 31.8%

Inverse Coin Change

Asked at Google
ArrayDynamic Programming
#172
Rank
#396MediumFrequency: 31.3%

Rotate Function

Asked at Amazon
ArrayMathDynamic Programming
#173
Rank
#1669HardFrequency: 31.3%

Minimum Cost to Cut a Stick

Asked at Amazon
ArrayDynamic ProgrammingSorting
#174
Rank
#2360HardFrequency: 31.3%

Substring With Largest Variance

Asked at Amazon
Hash TableStringDynamic ProgrammingEnumeration
#175
Rank
#3733HardFrequency: 31.3%

Length of Longest V-Shaped Diagonal Segment

Asked at Amazon
ArrayDynamic ProgrammingMemoizationMatrix
#176
Rank
#3851HardFrequency: 31.3%

Find Sum of Array Product of Magical Sequences

Asked at Infosys
ArrayMathDynamic ProgrammingBit ManipulationCombinatoricsBitmask
#177
Rank
#1130MediumFrequency: 31.3%

Last Stone Weight II

Asked at Infosys
ArrayDynamic ProgrammingKnapsack Problem0-1 Knapsack
#178
Rank
#1849MediumFrequency: 31.3%

Maximum Absolute Sum of Any Subarray

Asked at Infosys
ArrayDynamic Programming
#179
Rank
#1617HardFrequency: 31.3%

Stone Game IV

Asked at Infosys
MathDynamic ProgrammingMinimaxGame TheoryNim GameSprague–Grundy TheoremZero-Sum Game
#180
Rank
#343MediumFrequency: 31.3%

Integer Break

Asked at Infosys
MathDynamic Programming
#181
Rank
#338EasyFrequency: 31.1%

Counting Bits

Asked at Microsoft
Dynamic ProgrammingBit Manipulation
#182
Rank
#651MediumFrequency: 31.1%

4 Keys Keyboard

Asked at Microsoft
MathDynamic Programming
#183
Rank
#1700MediumFrequency: 31.1%

Minimum Time to Make Rope Colorful

Asked at Microsoft
ArrayStringDynamic ProgrammingGreedy
#184
Rank
#3318MediumFrequency: 31.1%

Maximum Number of Operations With the Same Score II

Asked at Microsoft
ArrayDynamic ProgrammingMemoization
#185
Rank
#3659MediumFrequency: 31.1%

Count Paths With the Given XOR Value

Asked at Microsoft
ArrayDynamic ProgrammingBit ManipulationMatrix
#186
Rank
#1522HardFrequency: 30.4%

Stone Game III

Asked at Google
ArrayMathDynamic ProgrammingMinimaxGame TheoryZero-Sum Game
#187
Rank
#962MediumFrequency: 30.2%

Flip String to Monotone Increasing

Asked at Amazon
StringDynamic Programming
#188
Rank
#351MediumFrequency: 29.7%

Android Unlock Patterns

Asked at Google
Dynamic ProgrammingBacktrackingBit ManipulationBitmask
#189
Rank
#877HardFrequency: 29.7%

Shortest Path Visiting All Nodes

Asked at Google
Dynamic ProgrammingBit ManipulationBreadth-First SearchGraph TheoryBitmask
#190
Rank
#867MediumFrequency: 29.7%

New 21 Game

Asked at Google
MathDynamic ProgrammingSliding WindowProbability and Statistics
#191
Rank
#909MediumFrequency: 29.7%

Stone Game

Asked at Google
ArrayMathDynamic ProgrammingMinimaxGame TheoryZero-Sum Game
#192
Rank
#691HardFrequency: 29.5%

Stickers to Spell Word

Asked at Meta
ArrayHash TableStringDynamic ProgrammingBacktrackingBit ManipulationMemoizationBitmask
#193
Rank
#2521HardFrequency: 29.5%

Paths in Matrix Whose Sum Is Divisible by K

Asked at Apple
ArrayDynamic ProgrammingMatrix
#194
Rank
#2246HardFrequency: 29.3%

Maximum Employees to Be Invited to a Meeting

Asked at Microsoft
ArrayDynamic ProgrammingDepth-First SearchGraph TheoryTopological SortKosaraju's AlgorithmTarjan's SCC Algorithm
#195
Rank
#3454HardFrequency: 29.3%

Minimum Operations to Make Array Equal to Target

Asked at Microsoft
ArrayDynamic ProgrammingStackGreedyMonotonic Stack
#196
Rank
#4151HardFrequency: 29.3%

Maximum Subgraph Score in a Tree

Asked at Microsoft
ArrayDynamic ProgrammingTreeDepth-First Search
#197
Rank
#2490HardFrequency: 29.1%

Maximum Number of Books You Can Take

Asked at Amazon
ArrayDynamic ProgrammingStackMonotonic Stack
#198
Rank
#1330MediumFrequency: 28.9%

Longest Arithmetic Subsequence of Given Difference

Asked at Google
ArrayHash TableDynamic Programming
#199
Rank
#4098MediumFrequency: 28.9%

Longest Non-Decreasing Subarray After Replacing at Most One Element

Asked at Google
ArrayDynamic Programming
#200
Rank
#357MediumFrequency: 28.1%

Count Numbers with Unique Digits

Asked at Google
MathDynamic ProgrammingBacktracking
#201
Rank
#119EasyFrequency: 28.1%

Pascal's Triangle II

Asked at Google
ArrayDynamic Programming
#202
Rank
#3646HardFrequency: 28.1%

Sum of Good Subsequences

Asked at Google
ArrayHash TableDynamic Programming
#203
Rank
#95MediumFrequency: 28.1%

Unique Binary Search Trees II

Asked at Meta
Dynamic ProgrammingBacktrackingTreeBinary Search TreeBinary Tree
#204
Rank
#646MediumFrequency: 27.8%

Maximum Length of Pair Chain

Asked at Amazon
ArrayDynamic ProgrammingGreedySortingLongest Increasing Subsequence
#205
Rank
#1571HardFrequency: 27.8%

Allocate Mailboxes

Asked at Amazon
ArrayMathDynamic ProgrammingSorting
#206
Rank
#1239MediumFrequency: 27.8%

Largest 1-Bordered Square

Asked at Uber
ArrayDynamic ProgrammingMatrix
#207
Rank
#1744HardFrequency: 27.8%

Number of Ways to Form a Target String Given a Dictionary

Asked at Uber
ArrayStringDynamic Programming
#208
Rank
#3675HardFrequency: 27.8%

Maximize Sum of Weights after Edge Removals

Asked at Uber
Dynamic ProgrammingTreeDepth-First SearchSorting
#209
Rank
#333MediumFrequency: 27.3%

Largest BST Subtree

Asked at Microsoft
Dynamic ProgrammingTreeDepth-First SearchBinary Search TreeBinary TreeDP on Trees
#210
Rank
#1202HardFrequency: 27.3%

Palindrome Removal

Asked at Microsoft
ArrayDynamic Programming
#211
Rank
#1348HardFrequency: 27.3%

Maximum Score Of Spliced Array

Asked at Microsoft
ArrayDynamic Programming
#212
Rank
#1569HardFrequency: 27.3%

Max Dot Product of Two Subsequences

Asked at Microsoft
ArrayDynamic ProgrammingLongest Common Subsequence
#213
Rank
#1743MediumFrequency: 27.3%

Count Substrings That Differ by One Character

Asked at Microsoft
Hash TableStringDynamic ProgrammingEnumeration
#214
Rank
#1799HardFrequency: 27.3%

Minimum Incompatibility

Asked at Microsoft
ArrayHash TableDynamic ProgrammingBit ManipulationBitmask
#215
Rank
#2082MediumFrequency: 27.3%

Minimum Cost to Separate Sentence Into Rows

Asked at Microsoft
StringDynamic Programming
#216
Rank
#3304MediumFrequency: 27.3%

Maximum Subtree of the Same Color

Asked at Microsoft
ArrayDynamic ProgrammingTreeDepth-First Search
#217
Rank
#1586MediumFrequency: 27.3%

Longest Subarray of 1's After Deleting One Element

Asked at Microsoft
ArrayDynamic ProgrammingSliding Window
#218
Rank
#934MediumFrequency: 27.3%

Bitwise ORs of Subarrays

Asked at Microsoft
ArrayDynamic ProgrammingBit Manipulation
#219
Rank
#1296HardFrequency: 27.2%

Kth Ancestor of a Tree Node

Asked at Google
Binary SearchDynamic ProgrammingBit ManipulationTreeDepth-First SearchBreadth-First SearchDesignBinary Lifting
#220
Rank
#2061HardFrequency: 27.2%

Painting a Grid With Three Different Colors

Asked at Google
Dynamic ProgrammingGraph Coloring
#221
Rank
#1825HardFrequency: 26.5%

Find Minimum Time to Finish All Jobs

Asked at Amazon
ArrayDynamic ProgrammingBacktrackingBit ManipulationBitmask
#222
Rank
#2325MediumFrequency: 26.5%

Number of Ways to Select Buildings

Asked at Amazon
StringDynamic ProgrammingPrefix Sum
#223
Rank
#2340HardFrequency: 26.5%

Total Appeal of A String

Asked at Amazon
Hash TableStringDynamic Programming
#224
Rank
#474MediumFrequency: 26.3%

Ones and Zeroes

Asked at Google
ArrayStringDynamic ProgrammingKnapsack Problem0-1 Knapsack
#225
Rank
#552HardFrequency: 26.3%

Student Attendance Record II

Asked at Google
Dynamic Programming
#226
Rank
#1628MediumFrequency: 26.3%

Count Submatrices With All Ones

Asked at Google
ArrayDynamic ProgrammingStackMatrixMonotonic Stack
#227
Rank
#2017MediumFrequency: 25.4%

Minimum Number of Flips to Make the Binary String Alternating

Asked at Google
StringDynamic ProgrammingSliding Window
#228
Rank
#2322MediumFrequency: 25.4%

Number of Ways to Build Sturdy Brick Wall

Asked at Google
ArrayDynamic ProgrammingBit ManipulationBitmask
#229
Rank
#2526HardFrequency: 25.4%

Longest Increasing Subsequence II

Asked at Google
ArrayDivide and ConquerDynamic ProgrammingBinary Indexed TreeSegment TreeQueueMonotonic Queue
#230
Rank
#1236EasyFrequency: 25.4%

N-th Tribonacci Number

Asked at Google
MathDynamic ProgrammingMemoization
#231
Rank
#1952MediumFrequency: 25.3%

Minimum Sideway Jumps

Asked at Oracle
ArrayDynamic ProgrammingGreedy
#232
Rank
#2530MediumFrequency: 25.3%

Minimize Maximum of Array

Asked at Oracle
ArrayBinary SearchDynamic ProgrammingGreedyPrefix Sum
#233
Rank
#1437HardFrequency: 25.3%

Minimum Insertion Steps to Make a String Palindrome

Asked at Oracle
StringDynamic Programming
#234
Rank
#1105MediumFrequency: 25.1%

Uncrossed Lines

Asked at Amazon
ArrayDynamic ProgrammingLongest Common Subsequence
#235
Rank
#1263MediumFrequency: 25.1%

Number of Dice Rolls With Target Sum

Asked at Amazon
Dynamic Programming
#236
Rank
#1288MediumFrequency: 25.1%

Maximum Subarray Sum with One Deletion

Asked at Amazon
ArrayDynamic Programming
#237
Rank
#1381HardFrequency: 25.1%

Maximum Score Words Formed by Letters

Asked at Amazon
ArrayHash TableStringDynamic ProgrammingBacktrackingBit ManipulationCountingBitmask
#238
Rank
#1418MediumFrequency: 25.1%

Fair Distribution of Cookies

Asked at Amazon
ArrayDynamic ProgrammingBacktrackingBit ManipulationBitmask
#239
Rank
#2233MediumFrequency: 25.1%

Number of Smooth Descent Periods of a Stock

Asked at Amazon
ArrayMathTwo PointersDynamic ProgrammingSliding Window
#240
Rank
#2921HardFrequency: 25.1%

Count Stepping Numbers in Range

Asked at Amazon
StringDynamic Programming
#241
Rank
#639HardFrequency: 25.1%

Decode Ways II

Asked at Meta
StringDynamic Programming
#242
Rank
#673MediumFrequency: 25.1%

Number of Longest Increasing Subsequence

Asked at Meta
ArrayDynamic ProgrammingBinary Indexed TreeSegment TreeLongest Increasing Subsequence
#243
Rank
#769MediumFrequency: 25.1%

Largest Plus Sign

Asked at Meta
ArrayDynamic Programming
#244
Rank
#264MediumFrequency: 25%

Ugly Number II

Asked at Microsoft
Hash TableMathDynamic ProgrammingHeap (Priority Queue)
#245
Rank
#1637HardFrequency: 25%

String Compression II

Asked at Microsoft
StringDynamic Programming
#246
Rank
#2690MediumFrequency: 25%

House Robber IV

Asked at Microsoft
ArrayBinary SearchDynamic ProgrammingGreedy
#247
Rank
#2176HardFrequency: 24.6%

Parallel Courses III

Asked at TikTok
ArrayDynamic ProgrammingGraph TheoryTopological SortDirected Acyclic Graph
#248
Rank
#413MediumFrequency: 24.6%

Arithmetic Slices

Asked at TikTok
ArrayDynamic ProgrammingSliding Window
#249
Rank
#3211HardFrequency: 24.6%

Find Maximum Non-decreasing Array Length

Asked at TikTok
ArrayBinary SearchDynamic ProgrammingStackQueueMonotonic StackPrefix SumMonotonic Queue
#250
Rank
#294MediumFrequency: 24.6%

Flip Game II

Asked at TikTok
MathDynamic ProgrammingBacktrackingMemoizationMinimaxGame TheorySprague–Grundy TheoremImpartial Game
#251
Rank
#1117MediumFrequency: 24.6%

As Far from Land as Possible

Asked at TikTok
ArrayDynamic ProgrammingBreadth-First SearchMatrix
#252
Rank
#972MediumFrequency: 24.4%

Knight Dialer

Asked at Google
Dynamic Programming
#253
Rank
#1587HardFrequency: 24.4%

Parallel Courses II

Asked at Google
Dynamic ProgrammingBit ManipulationGraph TheoryBitmaskDirected Acyclic Graph
#254
Rank
#2067MediumFrequency: 24.4%

Maximum Number of Points with Cost

Asked at Google
ArrayDynamic ProgrammingMatrix
#255
Rank
#2090MediumFrequency: 24.4%

Number of Ways to Arrive at Destination

Asked at Google
Dynamic ProgrammingGraph TheoryTopological SortShortest PathDijkstra's Algorithm
#256
Rank
#512MediumFrequency: 23.6%

Maximum Alternating Subarray Sum

Asked at Amazon
ArrayDynamic Programming
#257
Rank
#1042HardFrequency: 23.6%

Minimum Cost to Merge Stones

Asked at Amazon
ArrayDynamic ProgrammingPrefix Sum
#258
Rank
#1060MediumFrequency: 23.6%

Longest Repeating Substring

Asked at Amazon
StringBinary SearchDynamic ProgrammingRolling HashSuffix ArrayHash FunctionSuffix AutomatonSuffix Tree
#259
Rank
#2348MediumFrequency: 23.6%

Count Number of Texts

Asked at Amazon
Hash TableMathStringDynamic Programming
#260
Rank
#2979MediumFrequency: 23.6%

Maximize the Profit as the Salesman

Asked at Amazon
ArrayHash TableBinary SearchDynamic ProgrammingSorting
#261
Rank
#2164MediumFrequency: 23.6%

Two Best Non-Overlapping Events

Asked at Amazon
ArrayBinary SearchDynamic ProgrammingSortingHeap (Priority Queue)
#262
Rank
#819HardFrequency: 23.4%

Minimum Swaps To Make Sequences Increasing

Asked at Meta
ArrayDynamic Programming
#263
Rank
#868MediumFrequency: 23.3%

Push Dominoes

Asked at Google
Two PointersStringDynamic Programming
#264
Rank
#1488MediumFrequency: 23.3%

Sort Integers by The Power Value

Asked at Google
Dynamic ProgrammingMemoizationSorting
#265
Rank
#2028HardFrequency: 23.3%

The Earliest and Latest Rounds Where Players Compete

Asked at Google
Dynamic ProgrammingMemoization
#266
Rank
#3490MediumFrequency: 23.3%

Find the Maximum Length of Valid Subsequence I

Asked at Google
ArrayDynamic Programming
#267
Rank
#397MediumFrequency: 22.1%

Integer Replacement

Asked at Google
Dynamic ProgrammingGreedyBit ManipulationMemoization
#268
Rank
#949HardFrequency: 22.1%

Cat and Mouse

Asked at Google
MathDynamic ProgrammingGraph TheoryTopological SortMemoizationMinimaxGame TheoryZero-Sum Game
#269
Rank
#1443HardFrequency: 22.1%

Minimum Distance to Type a Word Using Two Fingers

Asked at Google
StringDynamic Programming
#270
Rank
#1555HardFrequency: 22.1%

Number of Ways of Cutting a Pizza

Asked at Google
ArrayDynamic ProgrammingMemoizationMatrixPrefix Sum
#271
Rank
#1632MediumFrequency: 22.1%

Number of Good Ways to Split a String

Asked at Google
Hash TableStringDynamic ProgrammingBit ManipulationPrefix Sum
#272
Rank
#2001MediumFrequency: 22.1%

Jump Game VII

Asked at Google
StringDynamic ProgrammingSliding WindowPrefix Sum
#273
Rank
#2653MediumFrequency: 22.1%

Check if There is a Path With Equal Number of 0's And 1's

Asked at Google
ArrayDynamic ProgrammingMatrix
#274
Rank
#3786MediumFrequency: 22.1%

Longest Palindromic Subsequence After at Most K Operations

Asked at Google
StringDynamic Programming
#275
Rank
#2262MediumFrequency: 22.1%

Solving Questions With Brainpower

Asked at Google
ArrayDynamic Programming
#276
Rank
#87HardFrequency: 21.9%

Scramble String

Asked at Amazon
StringDynamic Programming
#277
Rank
#553MediumFrequency: 21.9%

Optimal Division

Asked at Amazon
ArrayMathDynamic Programming
#278
Rank
#1213HardFrequency: 21.9%

Handshakes That Don't Cross

Asked at Amazon
MathDynamic Programming
#279
Rank
#2205MediumFrequency: 21.9%

Find Good Days to Rob the Bank

Asked at Amazon
ArrayDynamic ProgrammingPrefix Sum
#280
Rank
#2669MediumFrequency: 21.9%

Find the Substring With Maximum Cost

Asked at Amazon
ArrayHash TableStringDynamic Programming
#281
Rank
#3218HardFrequency: 21.9%

Find Number of Coins to Place in Tree Nodes

Asked at Amazon
Dynamic ProgrammingTreeDepth-First SearchSortingHeap (Priority Queue)DP on Trees
#282
Rank
#3414HardFrequency: 21.9%

Find Number of Ways to Reach the K-th Stair

Asked at Amazon
MathDynamic ProgrammingBit ManipulationMemoizationCombinatorics
#283
Rank
#751MediumFrequency: 21.5%

Number Of Corner Rectangles

Asked at Meta
ArrayMathDynamic ProgrammingMatrix
#284
Rank
#2078MediumFrequency: 21.5%

Maximum Compatibility Score Sum

Asked at Meta
ArrayDynamic ProgrammingBacktrackingBit ManipulationBitmaskHungarian AlgorithmBipartite GraphSuccessive Shortest Path AlgorithmMatching (Graph)Perfect MatchingMinimum-Cost FlowFlow Network
#285
Rank
#2374MediumFrequency: 21.5%

Steps to Make Array Non-decreasing

Asked at Meta
ArrayLinked ListDynamic ProgrammingStackMonotonic StackSimulation
#286
Rank
#276MediumFrequency: 20.9%

Paint Fence

Asked at Google
Dynamic Programming
#287
Rank
#418MediumFrequency: 20.9%

Sentence Screen Fitting

Asked at Google
ArrayStringDynamic Programming
#288
Rank
#514HardFrequency: 20.9%

Freedom Trail

Asked at Google
StringDynamic ProgrammingDepth-First SearchBreadth-First Search
#289
Rank
#1081MediumFrequency: 20.9%

Video Stitching

Asked at Google
ArrayDynamic ProgrammingGreedy
#290
Rank
#1086EasyFrequency: 20.9%

Divisor Game

Asked at Google
MathDynamic ProgrammingBrainteaserGame TheoryImpartial Game
#291
Rank
#1727HardFrequency: 20.9%

Cat and Mouse II

Asked at Google
ArrayMathDynamic ProgrammingGraph TheoryTopological SortMemoizationMinimaxMatrixGame TheoryZero-Sum Game
#292
Rank
#1912MediumFrequency: 20.9%

Number of Restricted Paths From First to Last Node

Asked at Google
Dynamic ProgrammingGraph TheoryTopological SortHeap (Priority Queue)Shortest PathDijkstra's Algorithm
#293
Rank
#1986HardFrequency: 20.9%

Largest Color Value in a Directed Graph

Asked at Google
Hash TableStringDynamic ProgrammingGraph TheoryTopological SortMemoizationCountingDirected Acyclic Graph
#294
Rank
#2641MediumFrequency: 20.9%

Disconnect Path in a Binary Matrix by at Most One Flip

Asked at Google
ArrayDynamic ProgrammingDepth-First SearchBreadth-First SearchMatrix
#295
Rank
#3491MediumFrequency: 20.9%

Find the Maximum Length of Valid Subsequence II

Asked at Google
ArrayDynamic Programming
#296
Rank
#4027HardFrequency: 20.9%

Number of Stable Subsequences

Asked at Google
ArrayDynamic Programming
#297
Rank
#361MediumFrequency: 20.3%

Bomb Enemy

Asked at Uber
ArrayDynamic ProgrammingMatrix
#298
Rank
#1068HardFrequency: 20%

Digit Count in Range

Asked at Amazon
MathDynamic Programming
#299
Rank
#1240MediumFrequency: 20%

Stone Game II

Asked at Amazon
ArrayMathDynamic ProgrammingMinimaxPrefix SumGame TheoryZero-Sum Game
#300
Rank
#1277HardFrequency: 20%

Largest Multiple of Three

Asked at Amazon
ArrayMathDynamic ProgrammingGreedySorting
#301
Rank
#1511MediumFrequency: 20%

Count Number of Teams

Asked at Amazon
ArrayDynamic ProgrammingBinary Indexed TreeSegment Tree
#302
Rank
#1725MediumFrequency: 20%

Number of Sets of K Non-Overlapping Line Segments

Asked at Amazon
MathDynamic ProgrammingCombinatoricsPrefix Sum
#303
Rank
#1836HardFrequency: 20%

Count Ways to Make Array With Product

Asked at Amazon
ArrayMathDynamic ProgrammingCombinatoricsNumber TheoryPrime FactorizationFermat's Little Theorem
#304
Rank
#2056MediumFrequency: 20%

Jump Game VIII

Asked at Amazon
ArrayDynamic ProgrammingStackGraph TheoryMonotonic StackShortest Path
#305
Rank
#2086HardFrequency: 20%

Count Number of Special Subsequences

Asked at Amazon
ArrayDynamic Programming
#306
Rank
#2108MediumFrequency: 20%

Minimize the Difference Between Target and Chosen Elements

Asked at Amazon
ArrayDynamic ProgrammingMatrix
#307
Rank
#2586MediumFrequency: 20%

Longest Square Streak in an Array

Asked at Amazon
ArrayHash TableBinary SearchDynamic ProgrammingSorting
#308
Rank
#2738MediumFrequency: 20%

Count the Number of K-Free Subsets

Asked at Amazon
ArrayMathDynamic ProgrammingSortingCombinatorics
#309
Rank
#3184HardFrequency: 20%

Maximum Balanced Subsequence Sum

Asked at Amazon
ArrayBinary SearchDynamic ProgrammingBinary Indexed TreeSegment Tree
#310
Rank
#3343EasyFrequency: 20%

Count Numbers With Unique Digits II

Asked at Amazon
Hash TableMathDynamic Programming
#311
Rank
#4142MediumFrequency: 20%

Maximum Total Value of Covered Indices

Asked at Amazon
ArrayStringDynamic ProgrammingGreedy
#312
Rank
#3730MediumFrequency: 20%

Maximum Subarray Sum After Multiplier

Asked at Amazon
ArrayDynamic Programming
#313
Rank
#487MediumFrequency: 19.5%

Max Consecutive Ones II

Asked at Google
ArrayDynamic ProgrammingSliding Window
#314
Rank
#831MediumFrequency: 19.5%

Largest Sum of Averages

Asked at Google
ArrayDynamic ProgrammingPrefix Sum
#315
Rank
#1000HardFrequency: 19.5%

Delete Columns to Make Sorted III

Asked at Google
ArrayStringDynamic Programming
#316
Rank
#1057HardFrequency: 19.5%

Numbers With Repeated Digits

Asked at Google
MathDynamic Programming
#317
Rank
#1063MediumFrequency: 19.5%

Best Sightseeing Pair

Asked at Google
ArrayDynamic Programming
#318
Rank
#1224HardFrequency: 19.5%

Minimum Falling Path Sum II

Asked at Google
ArrayDynamic ProgrammingMatrix
#319
Rank
#1489HardFrequency: 19.5%

Pizza With 3n Slices

Asked at Google
ArrayDynamic ProgrammingGreedyHeap (Priority Queue)
#320
Rank
#1676HardFrequency: 19.5%

Minimum Number of Days to Eat N Oranges

Asked at Google
Dynamic ProgrammingMemoization
#321
Rank
#1716MediumFrequency: 19.5%

Maximum Non Negative Product in a Matrix

Asked at Google
ArrayDynamic ProgrammingMatrix
#322
Rank
#2115HardFrequency: 19.5%

Number of Unique Good Subsequences

Asked at Google
StringDynamic Programming
#323
Rank
#2193HardFrequency: 19.5%

Count Fertile Pyramids in a Land

Asked at Google
ArrayDynamic ProgrammingMatrix
#324
Rank
#2395MediumFrequency: 19.5%

Longest Binary Subsequence Less Than or Equal to K

Asked at Google
StringDynamic ProgrammingGreedyMemoization
#325
Rank
#3024HardFrequency: 19.5%

String Transformation

Asked at Google
MathStringDynamic ProgrammingString Matching
#326
Rank
#3240MediumFrequency: 19.5%

Maximum Number That Sum of the Prices Is Less Than or Equal to K

Asked at Google
MathBinary SearchDynamic ProgrammingBit Manipulation
#327
Rank
#375MediumFrequency: 19.5%

Guess Number Higher or Lower II

Asked at Google
MathDynamic ProgrammingMinimaxGame Theory
#328
Rank
#526MediumFrequency: 19.5%

Beautiful Arrangement

Asked at Google
ArrayDynamic ProgrammingBacktrackingBit ManipulationBitmask
#329
Rank
#2720MediumFrequency: 19.5%

Minimize the Maximum Difference of Pairs

Asked at Google
ArrayBinary SearchDynamic ProgrammingGreedySorting
#330
Rank
#911HardFrequency: 19.5%

Profitable Schemes

Asked at Google
ArrayDynamic ProgrammingKnapsack Problem0-1 Knapsack
#331
Rank
#3575HardFrequency: 19.5%

Find the Maximum Sequence Value of Array

Asked at Google
ArrayDynamic ProgrammingBit Manipulation
#332
Rank
#3535HardFrequency: 19.5%

Find the Count of Monotonic Pairs I

Asked at Google
ArrayMathDynamic ProgrammingCombinatoricsPrefix Sum
#333
Rank
#313MediumFrequency: 18%

Super Ugly Number

Asked at Google
ArrayMathDynamic Programming
#334
Rank
#562MediumFrequency: 18%

Longest Line of Consecutive One in Matrix

Asked at Google
ArrayDynamic ProgrammingMatrix
#335
Rank
#1251HardFrequency: 18%

Longest Chunked Palindrome Decomposition

Asked at Google
Two PointersStringDynamic ProgrammingGreedyRolling HashHash Function
#336
Rank
#1393HardFrequency: 18%

Maximum Value of K Coins From Piles

Asked at Google
ArrayDynamic ProgrammingPrefix Sum
#337
Rank
#1398HardFrequency: 18%

Number of Ways to Stay in the Same Place After Some Steps

Asked at Google
Dynamic Programming
#338
Rank
#1545HardFrequency: 18%

Form Largest Integer With Digits That Add up to Target

Asked at Google
ArrayDynamic ProgrammingKnapsack ProblemComplete Knapsack
#339
Rank
#1573MediumFrequency: 18%

Find Two Non-overlapping Sub-arrays Each With Target Sum

Asked at Google
ArrayHash TableBinary SearchDynamic ProgrammingSliding Window
#340
Rank
#1692HardFrequency: 18%

Number of Ways to Reorder Array to Get Same BST

Asked at Google
ArrayMathDivide and ConquerDynamic ProgrammingTreeUnion-FindBinary Search TreeMemoizationCombinatoricsBinary TreeFermat's Little Theorem
#341
Rank
#1717HardFrequency: 18%

Minimum Cost to Connect Two Groups of Points

Asked at Google
ArrayDynamic ProgrammingBit ManipulationMatrixBitmaskBipartite GraphSuccessive Shortest Path AlgorithmMatching (Graph)Minimum-Cost FlowFlow Network
#342
Rank
#1758HardFrequency: 18%

Distribute Repeating Integers

Asked at Google
ArrayHash TableDynamic ProgrammingBacktrackingBit ManipulationCountingBitmask
#343
Rank
#1851HardFrequency: 18%

Maximum Number of Events That Can Be Attended II

Asked at Google
ArrayBinary SearchDynamic ProgrammingSorting
#344
Rank
#1896HardFrequency: 18%

Maximum Score from Performing Multiplication Operations

Asked at Google
ArrayDynamic Programming
#345
Rank
#1924HardFrequency: 18%

Maximum Number of Groups Getting Fresh Donuts

Asked at Google
ArrayDynamic ProgrammingBit ManipulationMemoizationBitmask
#346
Rank
#2286HardFrequency: 18%

Minimum Time to Remove All Cars Containing Illegal Goods

Asked at Google
StringDynamic Programming
#347
Rank
#2291HardFrequency: 18%

Maximum AND Sum of Array

Asked at Google
ArrayDynamic ProgrammingBit ManipulationBitmask
#348
Rank
#2569HardFrequency: 18%

Number of Beautiful Partitions

Asked at Google
StringDynamic ProgrammingPrefix Sum
#349
Rank
#718MediumFrequency: 18%

Maximum Length of Repeated Subarray

Asked at Google
ArrayBinary SearchDynamic ProgrammingSliding WindowRolling HashHash Function
#350
Rank
#3892MediumFrequency: 18%

Best Time to Buy and Sell Stock V

Asked at Google
ArrayDynamic Programming
#351
Rank
#3618HardFrequency: 18%

Find the Original Typed String II

Asked at Google
StringDynamic ProgrammingPrefix Sum
#352
Rank
#2408MediumFrequency: 18%

Number of People Aware of a Secret

Asked at Google
Dynamic ProgrammingQueueSimulation
#353
Rank
#1388MediumFrequency: 18%

Greatest Sum Divisible by Three

Asked at Amazon
ArrayDynamic ProgrammingGreedySorting
#354
Rank
#3629MediumFrequency: 18%

Total Characters in String After Transformations I

Asked at Amazon
Hash TableMathStringDynamic ProgrammingCounting
#355
Rank
#4057MediumFrequency: 18%

Total Waviness of Numbers in Range I

Asked at Amazon
MathDynamic ProgrammingEnumeration
#356
Rank
#3962HardFrequency: 18%

Number of ZigZag Arrays I

Asked at Amazon
Dynamic ProgrammingPrefix Sum
#357
Rank
#471HardFrequency: 16.4%

Encode String with Shortest Length

Asked at Google
StringDynamic Programming
#358
Rank
#568HardFrequency: 16.4%

Maximum Vacation Days

Asked at Google
ArrayDynamic ProgrammingMatrix
#359
Rank
#656HardFrequency: 16.4%

Coin Path

Asked at Google
ArrayDynamic Programming
#360
Rank
#1067MediumFrequency: 16.4%

Campus Bikes II

Asked at Google
ArrayDynamic ProgrammingBacktrackingBit ManipulationBitmaskHungarian AlgorithmBipartite GraphSuccessive Shortest Path AlgorithmMatching (Graph)Minimum-Cost FlowFlow Network
#361
Rank
#1134MediumFrequency: 16.4%

Shortest Distance to Target Color

Asked at Google
ArrayBinary SearchDynamic Programming
#362
Rank
#1394MediumFrequency: 16.4%

Minimum Path Cost in a Grid

Asked at Google
ArrayDynamic ProgrammingMatrix
#363
Rank
#1687HardFrequency: 16.4%

The Most Similar Path in a Graph

Asked at Google
ArrayStringDynamic ProgrammingGraph Theory
#364
Rank
#1828HardFrequency: 16.4%

Count Ways to Distribute Candies

Asked at Google
Dynamic Programming
#365
Rank
#1900MediumFrequency: 16.4%

Closest Dessert Cost

Asked at Google
ArrayDynamic ProgrammingBacktrackingKnapsack ProblemMixed Knapsack
#366
Rank
#1996HardFrequency: 16.4%

Number of Ways to Rearrange Sticks With K Sticks Visible

Asked at Google
MathDynamic ProgrammingCombinatorics
#367
Rank
#2008HardFrequency: 16.4%

Minimum Cost to Change the Final Value of Expression

Asked at Google
MathStringDynamic ProgrammingStack
#368
Rank
#2013HardFrequency: 16.4%

Minimum Skips to Arrive at Meeting On Time

Asked at Google
ArrayDynamic Programming
#369
Rank
#2311HardFrequency: 16.4%

Minimum White Tiles After Covering With Carpets

Asked at Google
StringDynamic ProgrammingPrefix Sum
#370
Rank
#2349HardFrequency: 16.4%

Check if There Is a Valid Parentheses String Path

Asked at Google
ArrayDynamic ProgrammingMatrixBracket Sequences
#371
Rank
#2399HardFrequency: 16.4%

Minimum Flips in Binary Tree to Get Result

Asked at Google
Dynamic ProgrammingTreeDepth-First SearchBinary Tree
#372
Rank
#3178MediumFrequency: 16.4%

Minimum Increment Operations to Make Array Beautiful

Asked at Google
ArrayDynamic Programming
#373
Rank
#3191MediumFrequency: 16.4%

Maximum Score After Applying Operations on a Tree

Asked at Google
Dynamic ProgrammingTreeDepth-First SearchDP on Trees
#374
Rank
#3298HardFrequency: 16.4%

Maximize Consecutive Elements in an Array After Modification

Asked at Google
ArrayDynamic ProgrammingSorting
#375
Rank
#3364HardFrequency: 16.4%

Minimum Sum of Values by Dividing Array

Asked at Google
ArrayBinary SearchDynamic ProgrammingBit ManipulationSegment TreeQueue
#376
Rank
#980HardFrequency: 16.4%

Find the Shortest Superstring

Asked at Google
ArrayStringDynamic ProgrammingBit ManipulationBitmaskHamiltonian Path
#377
Rank
#3464MediumFrequency: 16.4%

Maximize Total Cost of Alternating Subarrays

Asked at Google
ArrayDynamic Programming
#378
Rank
#546HardFrequency: 16.4%

Remove Boxes

Asked at Google
ArrayDynamic ProgrammingMemoization
#379
Rank
#2882MediumFrequency: 16.4%

Ways to Express an Integer as Sum of Powers

Asked at Google
Dynamic Programming
#380
Rank
#3909MediumFrequency: 16.4%

Minimum Increments to Equalize Leaf Paths

Asked at Google
ArrayDynamic ProgrammingTreeDepth-First Search
#381
Rank
#3938MediumFrequency: 16.4%

Twisted Mirror Path Count

Asked at Google
ArrayDynamic ProgrammingMatrix
#382
Rank
#1631MediumFrequency: 16.1%

Number of Sub-arrays With Odd Sum

Asked at Microsoft
ArrayMathDynamic ProgrammingPrefix Sum
#383
Rank
#1814MediumFrequency: 16.1%

Jump Game VI

Asked at Microsoft
ArrayDynamic ProgrammingQueueHeap (Priority Queue)Monotonic Queue
#384
Rank
#1690MediumFrequency: 15.7%

Maximum Length of Subarray With Positive Product

Asked at Amazon
ArrayDynamic ProgrammingGreedy
#385
Rank
#905MediumFrequency: 15.7%

Length of Longest Fibonacci Subsequence

Asked at Amazon
ArrayHash TableDynamic Programming
#386
Rank
#3954MediumFrequency: 15.7%

Maximum Balanced Shipments

Asked at Amazon
ArrayDynamic ProgrammingStackGreedyMonotonic Stack
#387
Rank
#3437MediumFrequency: 15.7%

Maximum Total Damage With Spell Casting

Asked at Amazon
ArrayHash TableTwo PointersBinary SearchDynamic ProgrammingSortingCounting
#388
Rank
#2755MediumFrequency: 14.6%

Extra Characters in a String

Asked at Google
ArrayHash TableStringDynamic ProgrammingTrie
#389
Rank
#3431HardFrequency: 14.6%

Find the Minimum Cost Array Permutation

Asked at Google
ArrayDynamic ProgrammingBit ManipulationBitmask
#390
Rank
#2709MediumFrequency: 14.6%

Count the Number of Square-Free Subsets

Asked at Google
ArrayMathDynamic ProgrammingBit ManipulationNumber TheoryBitmask
#391
Rank
#3243HardFrequency: 14.6%

Count the Number of Powerful Integers

Asked at Google
MathStringDynamic Programming
#392
Rank
#1659HardFrequency: 14.6%

Get the Maximum Score

Asked at Google
ArrayTwo PointersDynamic ProgrammingGreedy
#393
Rank
#3637HardFrequency: 14.6%

Count Number of Balanced Permutations

Asked at Google
MathStringDynamic ProgrammingCombinatorics
#394
Rank
#3852HardFrequency: 14.6%

Path Existence Queries in a Graph II

Asked at Google
ArrayTwo PointersBinary SearchDynamic ProgrammingGreedyBit ManipulationGraph TheorySorting
#395
Rank
#3406MediumFrequency: 14.6%

Find All Possible Stable Binary Arrays I

Asked at Google
Dynamic ProgrammingPrefix Sum
#396
Rank
#3986MediumFrequency: 14.6%

Maximum Path Score in a Grid

Asked at Google
ArrayDynamic ProgrammingMatrix
#397
Rank
#3584MediumFrequency: 14.6%

Find the Lexicographically Smallest Valid Sequence

Asked at Google
Two PointersStringDynamic ProgrammingGreedy
#398
Rank
#3307HardFrequency: 14.4%

Find the Maximum Sum of Node Values

Asked at Meta
ArrayDynamic ProgrammingGreedyBit ManipulationTreeSorting
#399
Rank
#576MediumFrequency: 13.2%

Out of Boundary Paths

Asked at Amazon
Dynamic Programming
#400
Rank
#1096MediumFrequency: 13.2%

Maximum Sum of Two Non-Overlapping Subarrays

Asked at Amazon
ArrayDynamic ProgrammingSliding Window
#401
Rank
#1367HardFrequency: 13.2%

Maximum Height by Stacking Cuboids

Asked at Amazon
ArrayDynamic ProgrammingSorting
#402
Rank
#3383MediumFrequency: 13.2%

Taking Maximum Energy From the Mystic Dungeon

Asked at Amazon
ArrayDynamic ProgrammingPrefix Sum
#403
Rank
#3889HardFrequency: 13.2%

Minimum Cost Path with Teleportations

Asked at Amazon
ArrayDynamic ProgrammingMatrix
#404
Rank
#2808HardFrequency: 12.6%

Painting the Walls

Asked at Google
ArrayDynamic Programming
#405
Rank
#1466HardFrequency: 12.6%

Jump Game V

Asked at Google
ArrayDynamic ProgrammingSorting
#406
Rank
#1471HardFrequency: 12.6%

Maximum Students Taking Exam

Asked at Google
ArrayDynamic ProgrammingBit ManipulationMatrixBitmaskMaximum FlowMaximum MatchingBipartite GraphEdmonds–Karp AlgorithmMPM AlgorithmPush-Relabel AlgorithmMinimum CutMatching (Graph)Flow NetworkDinic's Algorithm
#407
Rank
#3470HardFrequency: 12.6%

Maximum Score From Grid Operations

Asked at Google
ArrayDynamic ProgrammingMatrixPrefix Sum
#408
Rank
#993HardFrequency: 12%

Tallest Billboard

Asked at Microsoft
ArrayDynamic ProgrammingMeet in the MiddleKnapsack Problem0-1 Knapsack
#409
Rank
#2031MediumFrequency: 12%

Egg Drop With 2 Eggs and N Floors

Asked at Microsoft
MathDynamic Programming
#410
Rank
#629HardFrequency: 12%

K Inverse Pairs Array

Asked at Microsoft
Dynamic Programming
#411
Rank
#2409HardFrequency: 12%

Number of Increasing Paths in a Grid

Asked at Microsoft
ArrayDynamic ProgrammingDepth-First SearchBreadth-First SearchGraph TheoryTopological SortMemoizationMatrix
#412
Rank
#3677MediumFrequency: 12%

Maximum Amount of Money Robot Can Earn

Asked at Microsoft
ArrayDynamic ProgrammingMatrix
#413
Rank
#3777HardFrequency: 12%

Maximum Product of Subsequences With an Alternating Sum Equal to K

Asked at Microsoft
ArrayHash TableDynamic Programming
#414
Rank
#2184HardFrequency: 11.4%

Check if an Original String Exists Given Two Encoded Strings

Asked at Meta
StringDynamic Programming
#415
Rank
#3835MediumFrequency: 11.4%

Count Partitions With Max-Min Difference at Most K

Asked at Meta
ArrayDynamic ProgrammingQueueSliding WindowPrefix SumMonotonic Queue
#416
Rank
#1228MediumFrequency: 10.5%

Minimum Cost Tree From Leaf Values

Asked at Google
ArrayDynamic ProgrammingStackGreedyMonotonic StackCartesian Tree
#417
Rank
#3688HardFrequency: 10.5%

Maximize Subarray Sum After Removing All Occurrences of One Element

Asked at Google
ArrayHash TableDivide and ConquerDynamic ProgrammingSegment TreePrefix Sum
#418
Rank
#1527HardFrequency: 10.5%

Number of Ways to Paint N × 3 Grid

Asked at Google
Dynamic ProgrammingGraph Coloring
#419
Rank
#712MediumFrequency: 10.5%

Minimum ASCII Delete Sum for Two Strings

Asked at Google
StringDynamic ProgrammingLongest Common Subsequence
#420
Rank
#3981MediumFrequency: 10.5%

Jump Game IX

Asked at Google
ArrayDynamic Programming
#421
Rank
#3842HardFrequency: 10.5%

Number of Ways to Assign Edge Weights II

Asked at Google
ArrayMathDynamic ProgrammingBit ManipulationTreeDepth-First Search
#422
Rank
#446HardFrequency: 10.3%

Arithmetic Slices II - Subsequence

Asked at Amazon
ArrayDynamic Programming
#423
Rank
#3106MediumFrequency: 10.3%

Length of the Longest Subsequence That Sums to Target

Asked at Amazon
ArrayDynamic ProgrammingKnapsack Problem0-1 Knapsack
#424
Rank
#977HardFrequency: 10.3%

Distinct Subsequences II

Asked at Amazon
StringDynamic Programming
#425
Rank
#2855MediumFrequency: 10.3%

Maximum Number of Jumps to Reach the Last Index

Asked at Amazon
ArrayDynamic Programming
#426
Rank
#4128HardFrequency: 10.3%

Total Waviness of Numbers in Range II

Asked at Amazon
MathDynamic Programming
#427
Rank
#3919HardFrequency: 10.3%

Network Recovery Pathways

Asked at Amazon
ArrayBinary SearchDynamic ProgrammingGraph TheoryTopological SortHeap (Priority Queue)Shortest Path
#428
Rank
#1286HardFrequency: 8.1%

Constrained Subsequence Sum

Asked at Google
ArrayDynamic ProgrammingQueueSliding WindowHeap (Priority Queue)Monotonic Queue
#429
Rank
#3630HardFrequency: 8.1%

Total Characters in String After Transformations II

Asked at Google
Hash TableMathStringDynamic ProgrammingCounting
#430
Rank
#2022MediumFrequency: 8.1%

Maximum Alternating Subsequence Sum

Asked at Google
ArrayDynamic Programming
#431
Rank
#1764EasyFrequency: 8.1%

Maximum Repeating Substring

Asked at Google
StringDynamic ProgrammingString Matching
#432
Rank
#2708HardFrequency: 8.1%

Find the String with LCP

Asked at Google
ArrayStringDynamic ProgrammingGreedyUnion-FindMatrix
#433
Rank
#3900HardFrequency: 8.1%

Find Weighted Median Node in Tree

Asked at Google
ArrayBinary SearchDynamic ProgrammingBit ManipulationTreeDepth-First Search
#434
Rank
#1881HardFrequency: 8.1%

Closest Subsequence Sum

Asked at Google
ArrayTwo PointersDynamic ProgrammingBit ManipulationMeet in the MiddleSortingBitmask
#435
Rank
#3873MediumFrequency: 8.1%

Subsequence Sum After Capping Elements

Asked at Google
ArrayTwo PointersDynamic ProgrammingSorting
#436
Rank
#4030HardFrequency: 8.1%

Maximize Cyclic Partition Score

Asked at Google
ArrayDynamic Programming
#437
Rank
#3964HardFrequency: 8.1%

Number of ZigZag Arrays II

Asked at Google
MathDynamic Programming
#438
Rank
#1234HardFrequency: 8.1%

Number of Paths with Max Score

Asked at Google
ArrayDynamic ProgrammingMatrix
#439
Rank
#3841HardFrequency: 8%

Concatenated Divisibility

Asked at Meta
ArrayDynamic ProgrammingBit ManipulationBitmask
#440
Rank
#1474MediumFrequency: 7.3%

Longest ZigZag Path in a Binary Tree

Asked at Microsoft
Dynamic ProgrammingTreeDepth-First SearchBinary TreeDP on Trees
#441
Rank
#2850MediumFrequency: 7.3%

Construct the Longest New String

Asked at Microsoft
MathDynamic ProgrammingGreedyBrainteaser
#442
Rank
#2736MediumFrequency: 7.3%

Minimum Additions to Make Valid String

Asked at Microsoft
StringDynamic ProgrammingStackGreedy
#443
Rank
#1503HardFrequency: 7.3%

Reducing Dishes

Asked at Microsoft
ArrayDynamic ProgrammingGreedySorting
#444
Rank
#3403MediumFrequency: 7.3%

Minimum Substring Partition of Equal Character Frequency

Asked at Microsoft
Hash TableStringDynamic ProgrammingCounting
#445
Rank
#2397MediumFrequency: 7.3%

Count Number of Ways to Place Houses

Asked at Microsoft
Dynamic Programming
#446
Rank
#2444MediumFrequency: 7.3%

Longest Ideal Subsequence

Asked at Microsoft
Hash TableStringDynamic Programming
#447
Rank
#2251HardFrequency: 7.3%

Number of Ways to Divide a Long Corridor

Asked at Microsoft
MathStringDynamic Programming
#448
Rank
#4153HardFrequency: 7.3%

Count Routes to Climb a Rectangular Grid

Asked at Microsoft
ArrayDynamic ProgrammingMatrixPrefix Sum
#449
Rank
#3238HardFrequency: 7.3%

Minimum Cost to Convert String II

Asked at Microsoft
ArrayStringDynamic ProgrammingGraph TheoryTrieShortest Path
#450
Rank
#3742MediumFrequency: 7.3%

Maximum Number of Items From Sale I

Asked at Microsoft
ArrayDynamic ProgrammingGreedy
#451
Rank
#2187MediumFrequency: 7.3%

Vowels of All Substrings

Asked at Microsoft
MathStringDynamic ProgrammingCombinatorics
#452
Rank
#1020MediumFrequency: 7.3%

Longest Turbulent Subarray

Asked at Microsoft
ArrayDynamic ProgrammingSliding Window
#453
Rank
#1748MediumFrequency: 7.3%

Best Team With No Conflicts

Asked at Microsoft
ArrayDynamic ProgrammingSortingLongest Increasing Subsequence
#454
Rank
#855HardFrequency: 7.2%

Count Unique Characters of All Substrings of a Given String

Asked at Amazon
Hash TableStringDynamic Programming
#455
Rank
#3737MediumFrequency: 7.2%

Paint House IV

Asked at Amazon
ArrayDynamic Programming
#456
Rank
#2869MediumFrequency: 7.2%

Longest Non-decreasing Subarray From Two Arrays

Asked at Amazon
ArrayDynamic Programming
#457
Rank
#3714MediumFrequency: 7.2%

Maximum and Minimum Sums of at Most Size K Subsequences

Asked at Amazon
ArrayMathDynamic ProgrammingSortingCombinatorics
#458
Rank
#600HardFrequency: 7.2%

Non-negative Integers without Consecutive Ones

Asked at Amazon
Dynamic Programming
#459
Rank
#3407HardFrequency: 7.2%

Find All Possible Stable Binary Arrays II

Asked at Amazon
Dynamic ProgrammingPrefix Sum
#460
Rank
#1535HardFrequency: 5.5%

Build Array Where You Can Find The Maximum Exactly K Comparisons

Asked at Google
Dynamic ProgrammingPrefix Sum
#461
Rank
#1419HardFrequency: 5.5%

Make Array Non-decreasing or Non-increasing

Asked at Google
ArrayDynamic ProgrammingGreedyHeap (Priority Queue)
#462
Rank
#2794MediumFrequency: 5.5%

Maximum Number of Moves in a Grid

Asked at Google
ArrayDynamic ProgrammingMatrix
#463
Rank
#1808MediumFrequency: 5.5%

Stone Game VII

Asked at Google
ArrayMathDynamic ProgrammingMinimaxGame TheoryZero-Sum Game
#464
Rank
#1913HardFrequency: 5.5%

Make the XOR of All Segments Equal to Zero

Asked at Google
ArrayHash TableDynamic ProgrammingBit ManipulationCounting
#465
Rank
#467MediumFrequency: 5.5%

Unique Substrings in Wraparound String

Asked at Google
StringDynamic Programming
#466
Rank
#466HardFrequency: 5.5%

Count The Repetitions

Asked at Google
Two PointersStringDynamic Programming
#467
Rank
#3648HardFrequency: 5.5%

Find the Maximum Number of Fruits Collected

Asked at Google
ArrayDynamic ProgrammingMatrix
#468
Rank
#3588HardFrequency: 5.5%

Count The Number of Winning Sequences

Asked at Google
StringDynamic Programming
#469
Rank
#2130MediumFrequency: 5.5%

Maximum Product of the Length of Two Palindromic Subsequences

Asked at Google
StringDynamic ProgrammingBacktrackingBit ManipulationBitmask
#470
Rank
#4054MediumFrequency: 5.5%

Count Distinct Integers After Removing Zeros

Asked at Google
MathDynamic Programming
#471
Rank
#488HardFrequency: 5.5%

Zuma Game

Asked at Google
StringDynamic ProgrammingStackBreadth-First SearchMemoization
#472
Rank
#3854HardFrequency: 5.5%

Maximum Profit from Trading Stocks with Discounts

Asked at Google
ArrayDynamic ProgrammingTreeDepth-First Search
#473
Rank
#2477MediumFrequency: 5.5%

Number of Ways to Reach a Position After Exactly k Steps

Asked at Google
MathDynamic ProgrammingCombinatorics
#474
Rank
#2457HardFrequency: 5.5%

Count Special Integers

Asked at Google
MathDynamic Programming
#475
Rank
#843MediumFrequency: 5%

Binary Trees With Factors

Asked at Google
ArrayHash TableDynamic ProgrammingSorting
#476
Rank
#2443MediumFrequency: 5%

Check if There is a Valid Partition For The Array

Asked at Google
ArrayDynamic Programming
#477
Rank
#458HardFrequency: 5%

Poor Pigs

Asked at Google
MathDynamic ProgrammingCombinatorics
#478
Rank
#3552HardFrequency: 5%

Find the Largest Palindrome Divisible by K

Asked at Google
MathStringDynamic ProgrammingGreedyNumber Theory
#479
Rank
#3487MediumFrequency: 5%

Find Maximum Removals From Source String

Asked at Google
ArrayHash TableTwo PointersStringDynamic Programming
#480
Rank
#3716MediumFrequency: 5%

Longest Subsequence With Decreasing Adjacent Difference

Asked at Google
ArrayDynamic Programming
#481
Rank
#3795MediumFrequency: 5%

Zero Array Transformation IV

Asked at Google
ArrayDynamic Programming
#482
Rank
#3833HardFrequency: 5%

Merge Operations for Minimum Travel Time

Asked at Google
ArrayDynamic ProgrammingPrefix Sum
#483
Rank
#1685HardFrequency: 5%

Stone Game V

Asked at Google
ArrayMathDynamic ProgrammingGame Theory
#484
Rank
#3793MediumFrequency: 5%

Longest Palindrome After Substring Concatenation I

Asked at Google
Two PointersStringDynamic ProgrammingEnumeration
#485
Rank
#1517HardFrequency: 5%

Restore The Array

Asked at Google
StringDynamic Programming
#486
Rank
#3808HardFrequency: 5%

Longest Palindrome After Substring Concatenation II

Asked at Google
Two PointersStringDynamic Programming
#487
Rank
#3776MediumFrequency: 5%

Find Minimum Cost to Remove Array Elements

Asked at Google
ArrayDynamic Programming
#488
Rank
#1299MediumFrequency: 5%

K-Concatenation Maximum Sum

Asked at Google
ArrayDynamic Programming
#489
Rank
#1761MediumFrequency: 5%

Count Sorted Vowel Strings

Asked at Google
MathDynamic ProgrammingCombinatorics
#490
Rank
#3913MediumFrequency: 5%

Partition Array to Minimize XOR

Asked at Google
ArrayDynamic ProgrammingBit ManipulationPrefix Sum
#491
Rank
#3801HardFrequency: 5%

Count Beautiful Numbers

Asked at Google
Dynamic Programming
#492
Rank
#4205MediumFrequency: 5%

Minimum XOR Path in a Grid

Asked at Google
ArrayDynamic ProgrammingBit ManipulationMatrix
#493
Rank
#3696HardFrequency: 5%

Count Substrings Divisible By Last Digit

Asked at Google
StringDynamic Programming
#494
Rank
#3345HardFrequency: 5%

Find the Sum of the Power of All Subsequences

Asked at Google
ArrayDynamic ProgrammingKnapsack Problem0-1 Knapsack
#495
Rank
#3930HardFrequency: 5%

Longest Palindromic Path in Graph

Asked at Google
StringDynamic ProgrammingBit ManipulationGraph TheoryBitmask
#496
Rank
#1343HardFrequency: 5%

Dice Roll Simulation

Asked at Google
ArrayDynamic Programming
#497
Rank
#2114MediumFrequency: 5%

Minimum Number of Work Sessions to Finish the Tasks

Asked at Amazon
ArrayDynamic ProgrammingBacktrackingBit ManipulationBitmask
#498
Rank
#3313HardFrequency: 5%

Maximum Strength of K Disjoint Subarrays

Asked at Amazon
ArrayDynamic ProgrammingPrefix Sum
#499
Rank
#3771MediumFrequency: 5%

Select K Disjoint Special Substrings

Asked at Amazon
Hash TableStringDynamic ProgrammingGreedySorting
#500
Rank
#3562HardFrequency: 5%

Maximum Score of Non-overlapping Intervals

Asked at Amazon
ArrayBinary SearchDynamic ProgrammingSorting
#501
Rank
#3686MediumFrequency: 5%

Count Beautiful Splits in an Array

Asked at Amazon
ArrayDynamic Programming
#502
Rank
#489HardFrequency: 5%

Kth Smallest Instructions

Asked at Amazon
ArrayMathDynamic ProgrammingCombinatorics
#503
Rank
#4024MediumFrequency: 5%

Minimum Cost to Split into Ones

Asked at Amazon
MathDynamic Programming
#504
Rank
#376MediumFrequency: 5%

Wiggle Subsequence

Asked at Amazon
ArrayDynamic ProgrammingGreedy
#505
Rank
#3142MediumFrequency: 5%

Longest Unequal Adjacent Groups Subsequence II

Asked at Meta
ArrayStringDynamic Programming
#506
Rank
View All Topics

Master Dynamic Programming in Real Interviews

Get AI-powered assistance when solving dynamic programming problems during your actual interviews.

Get Started Free

No credit card required

Interview Solver
  • Home
  • About
  • Pricing
  • Sign in
  • Contact
  • Blog
  • Companion
  • Help Center
  • Developers
  • Use Cases
  • Software Engineer
  • Product Manager
  • Misc
  • Privacy Policy
  • Terms and Conditions
  • Refund & Cancellation
  • Discord Community
  • Affiliate Program
  • Compare
  • All Comparisons
  • vs Final Round AI
  • vs UltraCode
  • vs Interview Coder
  • vs LockedIn AI
  • vs AI Apply
  • Free Tools
  • ATS Resume Checker
  • STAR Method Builder
  • Salary Lookup
  • Big O Cheat Sheet
  • Total Comp Calculator
  • View All →
  • Interview Questions
  • Google Questions
  • Amazon Questions
  • Microsoft Questions
  • Meta Questions
  • Apple Questions
  • TikTok Questions
  • View All →
© 2026 Interview Solver, Inc. All rights reserved.