D18
Dynamic Programming
210 stations · 125hFrom recursion + memo to bottom-up, across all DP patterns. 6 concept lectures and 204 interview problems explained by codestorywithMIK (125h of video), grouped into 10 patterns such as 1D, 2D Grid, Knapsack.
Start this line →- 1D104
- 2D Grid28
- Knapsack14
- LIS9
- Subsequences/Strings (LCS, Edit Distance)33
- Interval/MCM10
- DP on Trees6
- Bitmask4
- Digit DP2
- Stocks4
- Introduction41:15
- Roadmap for DP6:06
- Introduction14:53
- Introduction6:43
- Introduction10:42
All 210 stations in order
- 1.Introduction
- 2.Lowest Common Ancestor
- 3.Roadmap for DP
- 4.Introduction
- 5.Introduction
- 6.Introduction
- 7.Kth Ancestor of a Tree Node (LeetCode 1483)
- 8.Number of Ways to Assign Edge Weights II (LeetCode 3559)
- 9.Path Existence Queries in a Graph II (LeetCode 3534)
- 10.Fibonacci Number (LeetCode 509)
- 11.Climbing Stairs (LeetCode 70)
- 12.House Robber (LeetCode 198)
- 13.House Robber II (LeetCode 213)
- 14.House Robber II (LeetCode 213)
- 15.House Robber I (LeetCode 198)
- 16.House Robber II (LeetCode 213)
- 17.Maximum Alternating Subsequence Sum (LeetCode 1911)
- 18.Maximum Alternating Subsequence Sum (LeetCode 1911)
- 19.Longest Increasing Subsequence (LeetCode 300)
- 20.Longest Increasing Subsequence (LeetCode 300)
- 21.Maximum Length of Pair Chain (LeetCode 646)
- 22.Longest String Chain (LeetCode 1048)
- 23.Build Array Where You Can Find The Maximum Exactly K Comparisons (LeetCode 1420)
- 24.Maximum Balanced Subsequence Sum (LeetCode 2926)
- 25.Longest Increasing Subsequence (LeetCode 300)
- 26.Largest Divisible Subset (LeetCode 368)
- 27.Print Longest Common Subsequence
- 28.Shortest Common Supersequence
- 29.Print Shortest Common Supersequence (LeetCode 1092)
- 30.Edit Distance (LeetCode 72)
- 31.Palindromic Substrings (LeetCode 647)
- 32.Longest Palindromic Substring (LeetCode 5)
- 33.Longest Palindromic Subsequence (LeetCode 516)
- 34.Minimum Insertion Steps to Make a String Palindrome (LeetCode 1312)
- 35.Palindrome Partitioning (LeetCode 131)
- 36.Palindrome Partitioning II (LeetCode 132)
- 37.Unique Paths (LeetCode 62)
- 38.Unique Paths II (LeetCode 63)
- 39.Maximum Non Negative Product in a Matrix (LeetCode 1594)
- 40.Dungeon Game (LeetCode 174)
- 41.Find the Maximum Number of Fruits Collected (LeetCode 3363)
- 42.Fractional Knapsack
- 43.0/1 Knapsack
- 44.0/1 Knapsack
- 45.0/1 Knapsack
- 46.Subset Sum Problem
- 47.Partition Equal Subset Sum (LeetCode 416)
- 48.Count Subsets with Sum
- 49.Partitions with Given Difference leetcode
- 50.Target Sum (LeetCode 494)
- 51.Minimum Difficulty of a Job Schedule (LeetCode 1335)
- 52.Maximum Length of a Concatenated String with Unique Characters (LeetCode 1239)
- 53.Ugly Number II (LeetCode 264)
- 54.Perfect Squares (LeetCode 279)
- 55.Maximum Profit in Job Scheduling (LeetCode 1235)
- 56.Arithmetic Slices II - Subsequence (LeetCode 446)
- 57.Climbing Stairs (LeetCode 70)
- 58.Minimum Falling Path Sum (LeetCode 931)
- 59.House Robber (LeetCode 198)
- 60.Longest Common Subsequence (LeetCode 1143)
- 61.Best Time to Buy and Sell Stock with Cooldown (LeetCode 309)
- 62.Domino and Tromino Tiling (LeetCode 790)
- 63.Jump Game - (Google, Microsoft, Amazon, Ebay, Meta) : Explanation ➕ Live Coding (LeetCode 55)
- 64.Flip String to Monotone Increasing - (GOOGLE) (LeetCode 926)
- 65.Flip String to Monotone Increasing - (GOOGLE) (LeetCode 926)
- 66.Minimum Path Sum (LeetCode 64)
- 67.Minimum Cost For Tickets (LeetCode 983)
- 68.Reducing Dishes - (MICROSOFT) (LeetCode 1402)
- 69.Scramble String - (GOOGLE) (LeetCode 87)
- 70.Number of Ways of Cutting a Pizza - (Google, TikTok) (LeetCode 1444)
- 71.Longest Palindromic Subsequence (LeetCode 516)
- 72.Maximum Value of K Coins From Piles (LeetCode 2218)
- 73.Number of Ways to Form a Target String Given a Dictionary (LeetCode 1639)
- 74.Number of Ways to Form a Target String Given a Dictionary (LeetCode 1639)
- 75.Profitable Schemes - (AMAZON) (LeetCode 879)
- 76.Restore The Array - (GOOGLE, MICROSOFT) (LeetCode 1416)
- 77.Minimum Insertion Steps to Make a String Palindrome (LeetCode 1312)
- 78.Find the Longest Valid Obstacle Course at Each Position (LeetCode 1964)
- 79.Uncrossed Lines (LeetCode 1035)
- 80.Solving Questions With Brainpower (LeetCode 2140)
- 81.Count Ways To Build Good Strings (LeetCode 2466)
- 82.Count Ways To Build Good Strings (LeetCode 2466)
- 83.Maximize Score After N Operations (LeetCode 1799)
- 84.Stone Game II (LeetCode 1140)
- 85.Stone Game III (LeetCode 1406)
- 86.Minimum Cost to Cut a Stick (LeetCode 1547)
- 87.Make Array Strictly Increasing (LeetCode 1187)
- 88.Number of Increasing Paths in a Grid (LeetCode 2328)
- 89.Best Time to Buy and Sell Stock with Transaction Fee (LeetCode 714)
- 90.Longest Arithmetic Subsequence (LeetCode 1027)
- 91.Tallest Billboard (LeetCode 956)
- 92.Count All Possible Routes (LeetCode 1575)
- 93.Longest Arithmetic Subsequence of Given Difference (LeetCode 1218)
- 94.Maximum Number of Events That Can Be Attended II (LeetCode 1751)
- 95.Smallest Sufficient Team (LeetCode 1125)
- 96.Number of Longest Increasing Subsequence (LeetCode 673)
- 97.Knight Probability in Chessboard (LeetCode 688)
- 98.All Possible Full Binary Trees (LeetCode 894)
- 99.Predict the Winner (LeetCode 486)
- 100.Soup Servings (LeetCode 808)
- 101.Strange Printer (LeetCode 664)
- 102.Minimum ASCII Delete Sum for Two Strings (LeetCode 712)
- 103.Word Break (LeetCode 139)
- 104.Unique Binary Search Trees II (LeetCode 95)
- 105.Number of Music Playlists (LeetCode 920)
- 106.Coin Change II (LeetCode 518)
- 107.Unique Paths II (LeetCode 63)
- 108.Check if There is a Valid Partition For The Array (LeetCode 2369)
- 109.Interleaving String (LeetCode 97)
- 110.Frog Jump (LeetCode 403)
- 111.Minimum Number of Taps to Open to Water a Garden (LeetCode 1326)
- 112.Extra Characters in a String (LeetCode 2707)
- 113.Unique Paths (LeetCode 62)
- 114.Champagne Tower (LeetCode 799)
- 115.Champagne Tower (LeetCode 799)
- 116.Integer Break (LeetCode 343)
- 117.Max Dot Product of Two Subsequences (LeetCode 1458)
- 118.Min Cost Climbing Stairs (LeetCode 746)
- 119.Painting the Walls (LeetCode 2742)
- 120.Number of Ways to Stay in the Same Place After Some Steps (LeetCode 1269)
- 121.Constrained Subsequence Sum (LeetCode 1425)
- 122.Longest Palindromic Substring (LeetCode 5)
- 123.Maximum Points After Collecting Coins From All Nodes (LeetCode 2920)
- 124.Knight Dialer (LeetCode 935)
- 125.Decode Ways (LeetCode 91)
- 126.Number of Dice Rolls With Target Sum (LeetCode 1155)
- 127.String Compression II (LeetCode 1531)
- 128.String Compression II (LeetCode 1531)
- 129.Minimum Difficulty of a Job Schedule (LeetCode 1335)
- 130.Count possible ways to construct buildings
- 131.Maximize the Number of Partitions After Operations (LeetCode 3003)
- 132.Out of Boundary Paths (LeetCode 576)
- 133.K Inverse Pairs Array (LeetCode 629)
- 134.Count digit groupings of a number
- 135.Partition Array for Maximum Sum (LeetCode 1043)
- 136.Perfect Squares (LeetCode 279)
- 137.Palindromic Substrings (LeetCode 647)
- 138.Cherry Pickup II (LeetCode 1463)
- 139.Maximum Strength of K Disjoint Subarrays (LeetCode 3077)
- 140.Valid Parenthesis String (LeetCode 678)
- 141.Minimum Sum of Values by Dividing Array (LeetCode 3117)
- 142.Longest Ideal Subsequence (LeetCode 2370)
- 143.Minimum Falling Path Sum II (LeetCode 1289)
- 144.Freedom Trail (LeetCode 514)
- 145.Find Number of Ways to Reach the K-th Stair (LeetCode 3154)
- 146.Student Attendance Record II (LeetCode 552)
- 147.Filling Bookcase Shelves (LeetCode 1105)
- 148.Maximum Number of Points with Cost (LeetCode 1937)
- 149.2 Keys Keyboard (LeetCode 650)
- 150.Maximum Number of Moves to Kill All Pawns (LeetCode 3283)
- 151.Extra Characters in a String (LeetCode 2707)
- 152.Count Square Submatrices with All Ones (LeetCode 1277)
- 153.Minimum Total Distance Traveled (LeetCode 2463)
- 154.Minimum Array Sum (LeetCode 3366)
- 155.Target Sum (LeetCode 494)
- 156.Maximum Sum of 3 Non-Overlapping Subarrays (LeetCode 689)
- 157.Length of Longest Fibonacci Subsequence (LeetCode 873)
- 158.Partition Equal Subset Sum (LeetCode 416)
- 159.Merge Operations for Minimum Travel Time (LeetCode 3538)
- 160.Count Number of Balanced Permutations (LeetCode 3343)
- 161.Print Longest Increasing Subsequence
- 162.Longest Unequal Adjacent Groups Subsequence II (LeetCode 2901)
- 163.Painting a Grid With Three Different Colors (LeetCode 1931)
- 164.Find the Original Typed String II (LeetCode 3333)
- 165.Find the Maximum Length of Valid Subsequence (LeetCode 3201)
- 166.Ways to Express an Integer as Sum of Powers (LeetCode 2787)
- 167.Length of Longest V-Shaped Diagonal Segment (LeetCode 3459)
- 168.Number of People Aware of a Secret (LeetCode 2327)
- 169.Triangle (LeetCode 120)
- 170.Minimum Score Triangulation of Polygon (LeetCode 1039)
- 171.Taking Maximum Energy From the Mystic Dungeon (LeetCode 3147)
- 172.Maximum Total Damage With Spell Casting (LeetCode 3186)
- 173.Find Sum of Array Product of Magical Sequences (LeetCode 3539)
- 174.Ones and Zeroes (LeetCode 474)
- 175.Paths in Matrix Whose Sum Is Divisible by K (LeetCode 2435)
- 176.Count Partitions With Max-Min Difference at Most K (LeetCode 3578)
- 177.Maximum Profit from Trading Stocks with Discounts (LeetCode 3562)
- 178.Best Time to Buy and Sell Stock V (LeetCode 3573)
- 179.Delete Columns to Make Sorted III (LeetCode 960)
- 180.Number of Ways to Paint N × 3 Grid (LeetCode 1411)
- 181.Minimum Cost Path with Teleportations (LeetCode 3651)
- 182.Trionic Array II (LeetCode 3640)
- 183.Find All Possible Stable Binary Arrays I (LeetCode 3129)
- 184.Find All Possible Stable Binary Arrays II (LeetCode 3130)
- 185.Find the String with LCP (LeetCode 2573)
- 186.Maximum Amount of Money Robot Can Earn (LeetCode 3418)
- 187.Maximum Walls Destroyed by Robots (LeetCode 3661)
- 188.Minimum Distance to Type a Word Using Two Fingers (LeetCode 1320)
- 189.Maximum Score From Grid Operations (LeetCode 3225)
- 190.Maximum Path Score in a Grid (LeetCode 3742)
- 191.Rotated Digits (LeetCode 788)
- 192.Maximum Number of Jumps to Reach the Last Index (LeetCode 2770)
- 193.Jump Game V (LeetCode 1340)
- 194.Jump Game VII (LeetCode 1871)
- 195.Total Waviness of Numbers in Range II (LeetCode 3753)
- 196.Number of ZigZag Arrays I (LeetCode 3699)
- 197.Number of Paths with Max Score (LeetCode 1301)
- 198.Find the Number of Subsequences With Equal GCD (LeetCode 3336)
- 199.Stone Game (LeetCode 877)
- 200.Stone Game IV (LeetCode 1510)
- 201.Stone Game V (LeetCode 1563)
- 202.Stone Game VIII (LeetCode 1872)
- 203.Distinct Subsequences (LeetCode 115)
- 204.Distinct Subsequences II (LeetCode 940)
- 205.Maximum Score of Non-overlapping Intervals (LeetCode 3414)
- 206.Maximum Number of Non-overlapping Palindrome Substrings (LeetCode 2472)
- 207.Number of Sets of K Non-Overlapping Line Segments (LeetCode 1621)
- 208.Find X Value of Array I (LeetCode 3524)
- 209.Check if There Is a Valid Parentheses String Path (LeetCode 2267)
- 210.N-th Tribonacci Number (LeetCode 1137)