3 Max subarray sum (Kadane's) Medium Arrays & Strings

Given array a, find the contiguous subarray with the largest sum.

47 Fibonacci (memoized) Easy Recursion

Compute the nth Fibonacci number efficiently.

63 Climbing stairs Easy Dynamic Programming

You can climb 1 or 2 steps. How many distinct ways to climb n stairs?

64 House robber Medium Dynamic Programming

Max amount you can rob without robbing two adjacent houses.

65 Coin change Medium Dynamic Programming

Given coin denominations and a target, find minimum coins needed.

66 Longest increasing subsequence Medium Dynamic Programming

Find the length of the longest strictly increasing subsequence.

67 0/1 Knapsack Medium Dynamic Programming

Maximize value in a knapsack of capacity W, each item used at most once.

68 Minimum path sum in grid Medium Dynamic Programming

Find path from top-left to bottom-right minimizing sum. Move only right or down.

69 Edit distance Medium Dynamic Programming

Minimum operations (insert, delete, replace) to convert word1 into word2.

70 Decode ways Medium Dynamic Programming

Count ways to decode a digit string into letters (A=1, B=2, ..., Z=26).

127 Unique Paths Medium 2-D Dynamic Programming

Given an m×n grid, count the number of unique paths from top-left to bottom-right (only move right or down).

128 Longest Common Subsequence Medium 2-D Dynamic Programming

Given two strings, find the length of their longest common subsequence.

129 Edit Distance Medium 2-D Dynamic Programming

Given two words, find the minimum number of operations (insert, delete, replace) to convert one to the other.

132 Interleaving String Medium 2-D Dynamic Programming

Given strings s1, s2, s3, determine if s3 is formed by interleaving s1 and s2.