3176. 求出最长好子序列 I
摘要
Title: 3176. 求出最长好子序列 I
Categories: dp
Powered by:NEFU AB-IN
3176. 求出最长好子序列 I
题意
给你一个整数数组 nums 和一个 非负 整数 k 。如果一个整数序列 seq 满足在下标范围 [0, seq.length - 2] 中 最多只有 k 个下标 i 满足 seq[i] != seq[i + 1] ,那么我们称这个整数序列为 好 序列。
请你返回 nums 中 好
子序列的最长长度。
思路
- 设定三个状态,目前是哪个元素,前一个元素是什么,用了几次不相等的名额。然后就可以记忆化搜索了,但是空间占用很大
- 设定两个状态,状态 dfs(i, h) 代表在数组 nums 中,当前到达第 i 个元素时,最多还能进行 h 次修改(即允许不同元素),可以得到的最长子序列长度。然后最后要求的是所有以i为结尾的最大值,状态量少很多
代码
1 | class Math: |
1 | class Math: |