leetcode300. 最长递增子序列

java 复制代码
class Solution {
    public int lengthOfLIS(int[] nums) {
        //除了使用动态规划之外,还可以选择使用排序的方法。
        int[] maxLen = new int[nums.length];
        maxLen[0] = 1;
        for(int i = 1;i < nums.length;i++){
            int j = i-1;
            int maxPre = 0;
            for(;j >= 0;j--)
                if(nums[j] < nums[i])
                    maxPre = Math.max(maxPre,maxLen[j]);
            maxLen[i] = (maxPre > 0) ? maxPre+1 : 1;
        }
        int maxx = 0;
        for(int i = 0;i < nums.length;i++)
            maxx = Math.max(maxx,maxLen[i]);
        return maxx;
    }
}
相关推荐
888CC++19 分钟前
C语言与C++的区别:从面向过程到面向对象
java·c语言·c++
学者猫头鹰1 小时前
分布式事务实战教程
java·分布式
FBI HackerHarry浩1 小时前
AI大模型开发V2第四阶段线性回归
人工智能·算法·线性回归
heimeiyingwang2 小时前
【架构实战】Kubernetes调度器深度剖析:从Pod调度到自定义调度器
java·架构·kubernetes
Jerry3 小时前
LeetCode 108. 将有序数组转换为二叉搜索树
算法
蓝斯4973 小时前
Diff算法的简单介绍
算法
过期的秋刀鱼!3 小时前
L2正则化,防止过拟合-历史补充
算法·过拟合·l2正则化
纳兰青华4 小时前
回文侦探:三种境界破解最长回文子串
java·算法·动态规划
hansang_IR4 小时前
【题解】LC:Z 算法(Z Algorithm)
c++·算法·字符串
范什么特西4 小时前
回答知识总结02
算法·哈希算法