# Dynamic Programming

- [LIS](/oj-practices/chapter1/dynamic-programming/lis.md)
- [300 Longest Increasing Subsequence](/oj-practices/chapter1/dynamic-programming/lis/300-longest-increasing-subsequence.md)
- [334 Increasing Triplet Subsequence](/oj-practices/chapter1/dynamic-programming/lis/334-increasing-triplet-subsequence.md)
- [354 Russian Doll Envelopes](/oj-practices/chapter1/dynamic-programming/lis/354-russian-doll-envelopes.md)
- [368 Largest Divisible Subset](/oj-practices/chapter1/dynamic-programming/lis/368-largest-divisible-subset.md)
- [646 Maximum Length of Pair Chain](/oj-practices/chapter1/dynamic-programming/lis/646-maximum-length-of-pair-chain.md)
- [673 Number of Longest Increasing Subsequence](/oj-practices/chapter1/dynamic-programming/lis/673-number-of-longest-increasing-subsequence.md)
- [LCS](/oj-practices/chapter1/dynamic-programming/lcs.md)
- [5 Longest Palindromic Substring](/oj-practices/chapter1/dynamic-programming/lcs/5-longest-palindromic-substring.md)
- [72  Edit Distance](/oj-practices/chapter1/dynamic-programming/lcs/72-edit-distance.md)
- [115  Distinct Subsequences](/oj-practices/chapter1/dynamic-programming/lcs/115-distinct-subsequences.md)
- [392     Is Subsequence](/oj-practices/chapter1/dynamic-programming/lcs/392-is-subsequence.md)
- [516     Longest Palindromic Subsequence](/oj-practices/chapter1/dynamic-programming/lcs/516-longest-palindromic-subsequence.md)
- [583 Delete Operation for Two Strings](/oj-practices/chapter1/dynamic-programming/lcs/583-delete-operation-for-two-strings.md)
- [647 Palindromic Substrings](/oj-practices/chapter1/dynamic-programming/lcs/647-palindromic-substrings.md)
- [712 Minimum ASCII Delete Sum for Two Strings](/oj-practices/chapter1/dynamic-programming/lcs/712-minimum-ascii-delete-sum-for-two-strings.md)
- [Knapsack Problem](/oj-practices/chapter1/dynamic-programming/knapsack-problem.md)
- [322 Coin Change](/oj-practices/chapter1/dynamic-programming/knapsack-problem/322-coin-change.md)
- [377 Combination Sum IV](/oj-practices/chapter1/dynamic-programming/knapsack-problem/377-combination-sum-iv.md)
- [416 Partition Equal Subset Sum](/oj-practices/chapter1/dynamic-programming/knapsack-problem/416-partition-equal-subset-sum.md)
- [474 Ones and Zeroes](/oj-practices/chapter1/dynamic-programming/knapsack-problem/474-ones-and-zeroes.md)
- [494 Target Sum](/oj-practices/chapter1/dynamic-programming/knapsack-problem/494-target-sum.md)
- [518 Coin Change 2](/oj-practices/chapter1/dynamic-programming/knapsack-problem/518-coin-change-2.md)
- [Interval DP](/oj-practices/chapter1/dynamic-programming/interval-dp.md)
- [132 Palindrome Partitioning II](/oj-practices/chapter1/dynamic-programming/interval-dp/132-palindrome-partitioning-ii.md)
- [312     Burst Balloons](/oj-practices/chapter1/dynamic-programming/interval-dp/312-burst-balloons.md)
- [375     Guess Number Higher or Lower II](/oj-practices/chapter1/dynamic-programming/interval-dp/375-guess-number-higher-or-lower-ii.md)
- [471     Encode String with Shortest Length](/oj-practices/chapter1/dynamic-programming/interval-dp/471-encode-string-with-shortest-length.md)
- [486     Predict the Winner](/oj-practices/chapter1/dynamic-programming/interval-dp/486-predict-the-winner.md)
- [516     Longest Palindromic Subsequence](/oj-practices/chapter1/dynamic-programming/interval-dp/516-longest-palindromic-subsequence.md)
- [546     Remove Boxes](/oj-practices/chapter1/dynamic-programming/interval-dp/546-removeboxes.md)
- [664 Strange Printer](/oj-practices/chapter1/dynamic-programming/interval-dp/664-strange-printer.md)
- [10     Regular Expression Matching](/oj-practices/chapter1/dynamic-programming/10-regular-expression-matching.md)
- [32     Longest Valid Parentheses](/oj-practices/chapter1/dynamic-programming/32-longest-valid-parentheses.md)
- [44     Wildcard Matching](/oj-practices/chapter1/dynamic-programming/44-wildcardmatching.md)
- [53     Maximum Subarray](/oj-practices/chapter1/dynamic-programming/53-maximum-subarray.md)
- [62     Unique Paths](/oj-practices/chapter1/dynamic-programming/62-unique-paths.md)
- [63     Unique Paths II](/oj-practices/chapter1/dynamic-programming/63-unique-paths-ii.md)
- [64     Minimum Path Sum](/oj-practices/chapter1/dynamic-programming/64-minimum-path-sum.md)
- [70     Climbing Stairs](/oj-practices/chapter1/dynamic-programming/70-climbing-stairs.md)
- [85     Maximal Rectangle](/oj-practices/chapter1/dynamic-programming/85-maximal-rectangle.md)
- [87     Scramble String](/oj-practices/chapter1/dynamic-programming/87-scramble-string.md)
- [91     Decode Ways](/oj-practices/chapter1/dynamic-programming/91-decodeways.md)
- [95     Unique Binary Search Trees II](/oj-practices/chapter1/dynamic-programming/95-unique-binary-search-trees-ii.md)
- [96     Unique Binary Search Trees](/oj-practices/chapter1/dynamic-programming/96-unique-binary-search-trees.md)
- [97     Interleaving String](/oj-practices/chapter1/dynamic-programming/97-interleaving-string.md)
- [120     Triangle](/oj-practices/chapter1/dynamic-programming/120-triangle.md)
- [121     Best Time to Buy and Sell Stock](/oj-practices/chapter1/dynamic-programming/121-best-time-to-buy-and-sell-stock.md)
- [122 Best Time to Buy and Sell Stock II](/oj-practices/chapter1/dynamic-programming/122-best-time-to-buy-and-sell-stock-ii.md)
- [123     Best Time to Buy and Sell Stock III](/oj-practices/chapter1/dynamic-programming/123-best-time-to-buy-and-sell-stock-iii.md)
- [139     Word Break](/oj-practices/chapter1/dynamic-programming/139-word-break.md)
- [140     Word Break II](/oj-practices/chapter1/dynamic-programming/140-word-break-ii.md)
- [152     Maximum Product Subarray](/oj-practices/chapter1/dynamic-programming/152-maximum-product-subarray.md)
- [174     Dungeon Game](/oj-practices/chapter1/dynamic-programming/174-dungeongame.md)
- [188     Best Time to Buy and Sell Stock IV](/oj-practices/chapter1/dynamic-programming/188-best-time-to-buy-and-sell-stock-iv.md)
- [198     House Robber](/oj-practices/chapter1/dynamic-programming/198-house-robber.md)
- [213     House Robber II](/oj-practices/chapter1/dynamic-programming/213-house-robber-ii.md)
- [221     Maximal Square](/oj-practices/chapter1/dynamic-programming/221-maximal-square.md)
- [238 Product of Array Except Self](/oj-practices/chapter1/dynamic-programming/238-product-of-array-except-self.md)
- [256     Paint House](/oj-practices/chapter1/dynamic-programming/256-paint-house.md)
- [264     Ugly Number II](/oj-practices/chapter1/dynamic-programming/264-ugly-number-ii.md)
- [265     Paint House II](/oj-practices/chapter1/dynamic-programming/265-paint-house-ii.md)
- [276     Paint Fence](/oj-practices/chapter1/dynamic-programming/276-paint-fence.md)
- [279     Perfect Squares](/oj-practices/chapter1/dynamic-programming/279-perfect-squares.md)
- [303     Range Sum Query - Immutable](/oj-practices/chapter1/dynamic-programming/303-range-sum-query-immutable.md)
- [304     Range Sum Query 2D - Immutable](/oj-practices/chapter1/dynamic-programming/304-range-sum-query-2d-immutable.md)
- [309     Best Time to Buy and Sell Stock with Cooldown](/oj-practices/chapter1/dynamic-programming/309-best-time-to-buy-and-sell-stock-with-cooldown.md)
- [321     Create Maximum Number](/oj-practices/chapter1/dynamic-programming/321-create-maximum-number.md)
- [338     Counting Bits](/oj-practices/chapter1/dynamic-programming/338-counting-bits.md)
- [343     Integer Break](/oj-practices/chapter1/dynamic-programming/343-integer-break.md)
- [361 Bomb Enemy](/oj-practices/chapter1/dynamic-programming/361-bomb-enemy.md)
- [363 Max Sum of Rectangle No Larger Than K](/oj-practices/chapter1/dynamic-programming/363-max-sum-of-rectangle-no-larger-than-k.md)
- [403     Frog Jump](/oj-practices/chapter1/dynamic-programming/403-frog-jump.md)
- [410     Split Array Largest Sum](/oj-practices/chapter1/dynamic-programming/410-split-array-largest-sum.md)
- [413     Arithmetic Slices](/oj-practices/chapter1/dynamic-programming/413-arithmetic-slices.md)
- [418     Sentence Screen Fitting](/oj-practices/chapter1/dynamic-programming/418-sentence-screen-fitting.md)
- [446     Arithmetic Slices II - Subsequence](/oj-practices/chapter1/dynamic-programming/446-arithmetic-slices-ii-subsequence.md)
- [464     Can I Win](/oj-practices/chapter1/dynamic-programming/464-can-i-win.md)
- [467     Unique Substrings in Wraparound String](/oj-practices/chapter1/dynamic-programming/467-unique-substrings-in-wraparound-string.md)
- [514     Freedom Trail](/oj-practices/chapter1/dynamic-programming/514-freedom-trail.md)
- [517     Super Washing Machines](/oj-practices/chapter1/dynamic-programming/517-super-washing-machines.md)
- [523     Continuous Subarray Sum](/oj-practices/chapter1/dynamic-programming/523-continuous-subarray-sum.md)
- [552     Student Attendance Record II](/oj-practices/chapter1/dynamic-programming/552-student-attendance-record-ii.md)
- [562  Longest Line of Consecutive One in Matrix](/oj-practices/chapter1/dynamic-programming/562-longest-line-of-consecutive-one-in-matrix.md)
- [568     Maximum Vacation Days](/oj-practices/chapter1/dynamic-programming/568-maximum-vacation-days.md)
- [576     Out of Boundary Paths](/oj-practices/chapter1/dynamic-programming/576-out-of-boundary-paths.md)
- [600     Non-negative Integers without Consecutive Ones](/oj-practices/chapter1/dynamic-programming/600-non-negative-integers-without-consecutive-ones.md)
- [629     K Inverse Pairs Array](/oj-practices/chapter1/dynamic-programming/629-k-inverse-pairs-array.md)
- [638     Shopping Offers](/oj-practices/chapter1/dynamic-programming/638-shopping-offers.md)
- [639     Decode Ways II](/oj-practices/chapter1/dynamic-programming/639-decodeways-ii.md)
- [650     2 Keys Keyboard](/oj-practices/chapter1/dynamic-programming/650-2-keys-keyboard.md)
- [651     4 Keys Keyboard](/oj-practices/chapter1/dynamic-programming/651-4-keys-keyboard.md)
- [656     Coin Path](/oj-practices/chapter1/dynamic-programming/656-coin-path.md)
- [688     Knight Probability in Chessboard](/oj-practices/chapter1/dynamic-programming/688-knight-probability-in-chessboard.md)
- [689     Maximum Sum of 3 Non-Overlapping Subarrays](/oj-practices/chapter1/dynamic-programming/689-maximum-sum-of-3-non-overlapping-subarrays.md)
- [691     Stickers to Spell Word](/oj-practices/chapter1/dynamic-programming/691-stickers-to-spell-word.md)
- [698     Partition to K Equal Sum Subsets](/oj-practices/chapter1/dynamic-programming/698-partition-tok-equal-sum-subsets.md)
- [714     Best Time to Buy and Sell Stock with Transaction Fee](/oj-practices/chapter1/dynamic-programming/714-best-time-to-buy-and-sell-stock-with-transaction-fee.md)
- [718     Maximum Length of Repeated Subarray](/oj-practices/chapter1/dynamic-programming/718-maximum-length-of-repeated-subarray.md)
- [727     Minimum Window Subsequence](/oj-practices/chapter1/dynamic-programming/727-minimum-window-subsequence.md)
- [730     Count Different Palindromic Subsequences](/oj-practices/chapter1/dynamic-programming/730-count-different-palindromic-subsequences.md)
- [740     Delete and Earn](/oj-practices/chapter1/dynamic-programming/740-deleteand-earn.md)
- [741     Cherry Pickup](/oj-practices/chapter1/dynamic-programming/741-cherry-pickup.md)
- [746     Min Cost Climbing Stairs](/oj-practices/chapter1/dynamic-programming/746-min-cost-climbing-stairs.md)
- [750     Number Of Corner Rectangles](/oj-practices/chapter1/dynamic-programming/750-number-of-corner-rectangles.md)
- [764     Largest Plus Sign](/oj-practices/chapter1/dynamic-programming/764-largest-plus-sign.md)
- [787     Cheapest Flights Within K Stops](/oj-practices/chapter1/dynamic-programming/787-cheapest-flights-within-k-stops.md)
- [790     Domino and Tromino Tiling](/oj-practices/chapter1/dynamic-programming/790-domino-and-tromino-tiling.md)
- [801     Minimum Swaps To Make Sequences Increasing](/oj-practices/chapter1/dynamic-programming/801-minimum-swaps-to-make-sequences-increasing.md)
- [808     Soup Servings](/oj-practices/chapter1/dynamic-programming/808-soup-servings.md)
- [813 Largest Sum of Averages](/oj-practices/chapter1/dynamic-programming/813-largest-sum-of-averages.md)
