碰到要mod的数比较大时记得用long。。。
通常返回结果是数字。
输入是数组或字符串,一维或二维dp。
打家劫舍:
一维数组dp----后一个值的计算需要看前面偷或不偷,于是需要两个状态。
最多两次购买股票的最大收益:
一维数组-----操作有四个,五个状态,后一个值的状态5计算要看前一个值已经到状态5的最大收益 和 前一个值已经到状态4的最大收益+当日收益 哪个大
leetcode300. 最长递增子序列(leetcode354类似)
输入:nums = [10,9,2,5,3,7,101,18]
输出:4
解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。
一维数组----直接定义dp值发现无法根据前一个值确定后一个值,需要将dp值定义更严格,直接定义j为子序列的最大值位置。最终结果需要遍历dp所有数据找最大值。
790. 多米诺和托米诺平铺