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

参考资料:代码随想录

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

我的理解是:以下标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 分钟前
算法与数据结构之又臭又长的表
数据结构·算法
A923A7 分钟前
【洛谷刷题 | 第七天】
算法·模拟·洛谷
故事和你917 分钟前
洛谷-入门4-数组3
开发语言·数据结构·c++·算法·动态规划·图论
玉树临风ives12 分钟前
atcoder ABC 451 题解
c++·算法·atcoder
_日拱一卒12 分钟前
LeetCode:和为K的子数组
算法·leetcode·职场和发展
周可温84115 分钟前
动手学RAG
算法
周可温84117 分钟前
Transformer 深度理解与动手实现
算法
扶摇接北海17621 分钟前
洛谷:B4488 [语言月赛 202602] 甜品食用
数据结构·c++·算法
直有两条腿25 分钟前
【机器学习】K-Means 算法
算法·机器学习·kmeans
A923A26 分钟前
【洛谷刷题 | 第十天】
算法·洛谷·sprintf·sscanf