392. Is Subsequence
判断字符串s
是否是t
的子序列(不同于子串),这是DP吗?
377. Combination Sum IV
523. Continuous Subarray Sum(AC代码)
给定一个包含非负整数的数组nums
,以及一个整数k
,是否存在nums
的一个长度至少为2
的子数组,元素之和为k
的倍数,似乎不属于DP算法
70. Climbing Stairs(AC代码)
水题,斐波那契数列
120. Triangle(AC代码)
经典数字三角形问题
64. Minimum Path Sum(AC代码)
给定一个包含非负整数的二维数组grid
,从左上角走到右下角形成一条路径,求路径之和的最小值
300. Longest Increasing Subsequence(AC代码)
最长上升子序列
322. Coin Change(AC代码)
给定数组coins
,表示可用的硬币面值,求构成面值amount
的方案中,硬币数量的最小值,如果无法构成amount
,返回-1
416. Partition Equal Subset Sum
给定一个包含非负整数的数组nums
,判断是否能将nums
划分为两部分,使这两部分的和相等
变体1:求不超过target
的最大subset sum(AC代码)
变体2:求等于target
的subset sum是否存在(AC代码)
91. Decode Ways(AC代码)
给定一个包含数字的字符串s
,可以将1
解码成A
,2
解码成B
,……,26
解码成Z
,求字符串s
的解码方案数
198. House Robber(AC代码)
给定数组nums
,选择其中某些元素进行窃取,规定不能窃取相邻元素,求窃取的最大价值
213. House Robber II(AC代码)
规定数组nums
首尾相连
338. Counting Bits(AC代码)
给定整数n
,求0
到n
所有整数二进制的“1”的个数
413. Arithmetic Slices(AC代码)
如果一个数组长度至少为3,且为等差数列,那么称这个数组是arithmetic sequence
给定数组A
,求A
的所有子数组中arithmetic sequence的数量
279. Perfect Squares(AC代码)
给定整数n
,n
可以拆分为若干个完全平方数之和,求n
的最小拆分个数
746. Min Cost Climbing Stairs(AC代码)
给定cost
表示到达楼梯每一层的代价(楼梯编号从0
开始),起点可以选择第0
层或第1
层,每次只能向上走1
层或2
层,求走完所有楼层的最小代价
343. Integer Break(dp解法,数学解法)
给定一个正整数n
,将它拆分为若干正整数之和,求这些正整数乘积的最大值
650. 2 Keys Keyboard(dp解法,数学解法)
在一个记事本中,最初有一个字符'A'
,允许使用两种操作:1. 复制所有字符 2. 粘贴,给定整数n
,求生成n
个字符'A'
的最少操作次数
96. Unique Binary Search Trees(AC代码)
求1
到n
可以构成多少种二叉查找树(BST)
95. Unique Binary Search Trees II(AC代码)
构造1
到n
组成的所有二叉查找树(BST),主要使用递归进行编程
53. Maximum Subarray(AC代码)
连续子数组的最大和
152. Maximum Product Subarray(AC代码)
连续子数组的最大乘积
121. Best Time to Buy and Sell Stock(AC代码)
给定一只股票每一天的价格,只允许1次交易(买入1次,卖出1次),求最大利润
714. Best Time to Buy and Sell Stock with Transaction Fee
给定一只股票每一天的价格,允许无限次交易,每次交易的费用为fee
,求最大利润
123. Best Time to Buy and Sell Stock III
给定一只股票每一天的价格,最多交易2次,求最大利润
221. Maximal Square(AC代码)
给定一个矩阵matrix
包含0
和1
,求matrix
中只包含1
的正方形的最大面积
85. Maximal Rectangle
求matrix
中只包含1
的矩形的最大面积
139. Word Break(AC代码)
给定字符串s
,以及一个单词表wordDict
,判断字符串s
是否能够切成若干子串,每个子串是wordDict
中的一个单词
62. Unique Paths(AC代码)
给定m×n
的网格,求从左上角(0, 0)
走到右下角(m-1, n-1)
的路径数
63. Unique Paths II(AC代码)
给定m×n
的网格,其中有些地方不能经过,求从左上角(0, 0)
走到右下角(m-1, n-1)
的路径数
303. Range Sum Query - Immutable(AC代码)
一维数组上快速区间求和
304. Range Sum Query 2D - Immutable(AC代码)
二维数组上的快速区间求和
357. Count Numbers with Unique Digits
给定n
,在0
到n
位数中,统计各位不相同的数字个数
638. Shopping Offers
题目描述比较长
494. Target Sum(略烦琐)
给定一个包含非负整数的数组nums
,以及整数S
,对于nums
中的每个数,可以对它添加+
号或-
号,求使得nums
所有元素之和等于S
的方案数
5. Longest Palindromic Substring(AC代码)
求字符串s
的任意一个最长回文子串
647. Palindromic Substrings(AC代码)
求字符串s
的回文子串数量
712. Minimum ASCII Delete Sum for Two Strings(AC代码)
给定两个字符串s1
和s2
,删除一些字符可以使它们相等(最坏情况将两个字符串变为空串),求所有方案中,删除的字符的ASCII之和最小值
718. Maximum Length of Repeated Subarray(AC代码)
数组版本的最长公共子串,返回长度
72. Edit Distance(AC代码)
求两个字符串的编辑距离