动态规划:最长递增子序列

参考资料:代码随想录

本题难点在于对递推公式的理解。

我的理解是:以下标i为界,能和i组成递增子序列的长度。

java 复制代码
class Solution {
    public int lengthOfLIS(int[] nums) {
        int res = 1;
        //确定dp数组的含义
        int[] dp = new int[nums.length];
        //初始化dp数组
        Arrays.fill(dp,1);
        //确定遍历顺序
        for(int i = 1;i < nums.length;i++){
            for(int j = 0;j < i;j++){
                if(nums[i] > nums[j]){
                    dp[i] = Math.max(dp[j]+1,dp[i]);
                }
                res = Math.max(res,dp[i]);
            }
        }
        return res;
    }
}
相关推荐
企客宝CRM42 分钟前
2026年中小企业CRM选型指南:企客宝CRM处于什么位置?
android·算法·企业微信·rxjava·crm
橙淮1 小时前
二叉树核心概念与Java实现详解
数据结构·算法
米罗篮1 小时前
DSU并查集 & 拓展欧几里得-逆元
c++·经验分享·笔记·算法·青少年编程
橙淮1 小时前
双指针法:高效算法解题的利器
算法
初心未改HD1 小时前
深度学习之MLP与反向传播算法详解
人工智能·深度学习·算法
刀法如飞1 小时前
【Go 字符串查找的 20 种实现方式,用不同思路解决问题】
人工智能·算法·go
技术小黑3 小时前
CNN算法实战系列03 | DenseNet121算法实战与解析
pytorch·深度学习·算法·cnn
wearegogog1234 小时前
三电平SVPWM逆变器仿真指南
单片机·算法
笨笨饿4 小时前
74_SysTick滴答定时器中断
c语言·开发语言·人工智能·单片机·嵌入式硬件·算法·学习方法