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

参考资料:代码随想录

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

我的理解是:以下标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;
    }
}
相关推荐
退休倒计时2 分钟前
【每日一题】LeetCode 39. 组合总和 TypeScript
算法·leetcode·typescript
不是az8 分钟前
力控相关知识点
算法·机器学习·最小二乘法
战血石LoveYY37 分钟前
Integer类型超限,导致数据异常
java·算法
紫金修道1 小时前
PnP算法介绍(Perspective-n-Point)
算法
froyoisle2 小时前
CSP 真题解析:[CSP-J 2019-T4] 加工零件
c++·算法·bfs·csp-j·算法竞赛·信息学·信奥赛
兰令水2 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试
Tisfy2 小时前
LeetCode 1291.顺次数:打表/枚举
算法·leetcode·题解·枚举·遍历
ysa0510303 小时前
【板子】拓扑排序
c++·算法·图论·板子
算法备案代理3 小时前
宽带自动连接保姆级教程
算法
罗超驿3 小时前
双指针算法详解:从入门到精通(Java版)
算法·leetcode·职场和发展