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

参考资料:代码随想录

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

我的理解是:以下标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 分钟前
优选算法---哈希表
数据结构·算法·哈希表
疑惑的杰瑞4 分钟前
掌握 C 语言流程控制:分支、循环、goto 与表达式求值详解
c语言·开发语言·算法·算术转换
im_AMBER11 分钟前
Leetcode 85 【滑动窗口(不定长)】最多 K 个重复元素的最长子数组
c++·笔记·学习·算法·leetcode·哈希算法
B_lack02614 分钟前
字节转换算法应用_读取本地时间
数据结构·算法·数组·西门子plc·博途·时间处理·scl
leiming623 分钟前
c++ string 容器
开发语言·c++·算法
wljun7391 小时前
六、OrcaSlicer 切片之区域
算法·切片软件 orcaslicer
2401_841495641 小时前
【LeetCode刷题】跳跃游戏Ⅱ
数据结构·python·算法·leetcode·数组·贪心策略·跳跃游戏
leaves falling1 小时前
动态规划讲解
算法·动态规划
钓鱼的肝1 小时前
GESP系列(3级)小杨的储蓄
开发语言·数据结构·c++·笔记·算法·gesp
MicroTech20252 小时前
MLGO微算法科技推出人工智能与量子计算融合新成果:基于QLSS与LCHS的量子DPM算法技术
人工智能·科技·算法