Dynamic Programming

1.Easy

(70)Climbing Stairs

(121)Best Time to Buy and Sell Stock

2.Medium

(10)Regular Expression Matching

(11)Container With Most Water

(53)Maximum Subarray

(62)Unique Paths

(64)Minimum Path Sum

(96)Unique Binary Search Trees

(139)Word Break

(152)Maximum Product Subarray

(198)House Robber

(221)Maximal Square

(279)Perfect Squares

(300)Longest Increasing Subsequence

(309)Best Time to Buy and Sell Stock with Cooldown

(322)Coin Change

(337)House Robber III

(338)Counting Bits

(416)Partition Equal Subset Sum

(494)Target Sum

(647)Palindromic Substrings

3.Hard

(3)Longest Substring Without Repeating Characters

(32)Longest Valid Parentheses

(72)Edit Distance

(85)Maximal Rectangle

(312)Burst Balloons