day-50 求出最长好子序列 I


思路

二维dp,dpih表示numsi 结尾,且有不超过 h 个下标满足条件的最长好子序列的长度(0<=h<=k),二维数组dp初始值全为1

解题过程

状态转换方程:

1.numsi==numsj,dpi,h=Math.max(dpi,h,dpj,h+1)

2.numsi!=numsj,dpi,h=Math.max(dpi,h,dpj,h-1+1)

Code

java 复制代码
class Solution {
    public int maximumLength(int[] nums, int k) {
        int n = nums.length;
        int[][] dp = new int[n][k + 1];
        int ans = 0;
        for(int i=0;i<n;i++){
            Arrays.fill(dp[i],1);
        }
        for (int i = 0; i < n; i++) {
            for (int h = 0; h <= k; h++) {
                for (int j = 0; j < i; j++) {
                    if (nums[i] == nums[j]) {
                        dp[i][h] = Math.max(dp[i][h], dp[j][h]+1);
                    } else if (h > 0) {
                        dp[i][h] = Math.max(dp[i][h], dp[j][h - 1]+1);
                    }
                }
            }
            ans = Math.max(ans, dp[i][k]);
        }
        return ans;
    }
}
相关推荐
MicroTech20257 分钟前
量子隐形传态路线的瓶颈与突破,微算法科技(MLGO)以技术创新助力量子通信长距离组网
科技·算法·量子计算
洛水水8 分钟前
【力扣100题】89.下一个排列
数据结构·算法·leetcode
洛水水9 分钟前
【力扣100题】90.寻找重复数
算法·leetcode·职场和发展
鱼子星_14 分钟前
【数据结构】排序的拓展——快速排序的生态多样性与归并排序沾染文件操作
c语言·数据结构·算法
alphaTao14 分钟前
LeetCode 每日一题 2026/6/8-2026/6/14
算法·leetcode
KaMeidebaby19 分钟前
卡梅德生物技术快报|噬菌体展示文库构建全流程解析 | 大豆球蛋白纳米抗体筛选实践
人工智能·python·tcp/ip·算法·机器学习
CC数学建模27 分钟前
2026年第十六届APMCM 亚太地区大学生数学建模竞赛(中文赛项)赛题B题:高性能芯片热管理系统的优化问题完整思路、代码、模型、文章,全网首发高质量分享!
python·算法·数学建模
爱睡懒觉的焦糖玛奇朵36 分钟前
【视觉检测之人员奔跑检测算法开发思路】
人工智能·python·深度学习·算法·yolo·视觉检测
05候补工程师41 分钟前
【408考研复习】数据结构核心笔记:字符串模式匹配与内部排序算法全解析
数据结构·经验分享·笔记·考研·算法·排序算法
阿文的代码库44 分钟前
浅谈:无向图的欧拉回路
算法