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;
    }
}
相关推荐
英英_8 分钟前
MATLAB数值计算基础教程
数据结构·算法·matlab
一起养小猫23 分钟前
LeetCode100天Day14-轮转数组与买卖股票最佳时机
算法·leetcode·职场和发展
hele_two1 小时前
快速幂算法
c++·python·算法
kk哥88991 小时前
如何快速掌握JavaSE的核心语法?
java
我是一只小青蛙8881 小时前
AVL树:平衡二叉搜索树原理与C++实战
java·jvm·面试
浩瀚地学1 小时前
【Java】JDK8的一些新特性
java·开发语言·经验分享·笔记·学习
l1t1 小时前
利用DeepSeek将python DLX求解数独程序格式化并改成3.x版本
开发语言·python·算法·数独
jllllyuz1 小时前
基于子集模拟的系统与静态可靠性分析及Matlab优化算法实现
算法·matlab·概率论
程序员-King.2 小时前
day143—递归—对称二叉树(LeetCode-101)
数据结构·算法·leetcode·二叉树·递归