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

参考资料:代码随想录

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

我的理解是:以下标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;
    }
}
相关推荐
靠沿几秒前
【递归、搜索与回溯算法】专题一——递归
算法
凌波粒几秒前
LeetCode--24.两两交换链表中的节点(链表)
java·算法·leetcode·链表
猫咪老师2 分钟前
RAG与GraphRAG介绍
人工智能·算法·llm
qwehjk200811 分钟前
实时语音处理库
开发语言·c++·算法
2301_8042154114 分钟前
自定义异常类设计
开发语言·c++·算法
暮冬-  Gentle°15 分钟前
C++代码依赖分析
开发语言·c++·算法
2301_7638919518 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
j_xxx404_20 分钟前
蓝桥杯基础--进制转换
开发语言·数据结构·c++·算法·职场和发展·蓝桥杯
阿Y加油吧28 分钟前
力扣链表高频题:两两交换节点 + K个一组翻转链表(保姆级思路+满分代码)
算法·leetcode·链表
Boop_wu32 分钟前
[Java 算法] 动态规划2
算法·leetcode·动态规划