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

参考资料:代码随想录

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

我的理解是:以下标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;
    }
}
相关推荐
散峰而望10 小时前
【数据结构】单调栈与单调队列深度解析:从模板到实战,一网打尽
开发语言·数据结构·c++·后端·算法·github·推荐算法
qwehjk200810 小时前
内存泄漏自动检测系统
开发语言·c++·算法
tankeven10 小时前
HJ153 实现字通配符*
c++·算法
旖-旎10 小时前
位运算(两整数之和)(3)
c++·算法·leetcode·位运算
2301_8166512210 小时前
C++与Rust交互编程
开发语言·c++·算法
ab15151710 小时前
3.28完成9、16、20、98、100、55、57
算法
带娃的IT创业者10 小时前
营养食谱推荐引擎:基于规则与协同过滤的混合算法
算法·规则引擎·协同过滤·健康管理·食谱推荐·营养搭配·家庭饮食
扶摇接北海17610 小时前
洛谷:P1307 [NOIP 2011 普及组] 数字反转
c++·算法·洛谷
Fortune7910 小时前
实时操作系统中的C++
开发语言·c++·算法
AI科技星10 小时前
基于v≡c光速螺旋理论的正确性证明:严格遵循科学方法论的完整路径
c语言·开发语言·人工智能·线性代数·算法·机器学习·数学建模