leetcode300-每日刷题档

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。

子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-increasing-subsequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution {
    public int lengthOfLIS(int[] nums) {
        int len = nums.length;
        int[] target = new int[len];
        for(int i=0;i<len;i++){
            target[i]=1;
        }
        for(int i=0;i<len;i++){
            for(int j=i-1;j>=0;j--){
                if(nums[i]>nums[j]){
                    target[i] = Math.max(target[i],target[j]+1);
                }
            }
        }
        int res = 0;
        for(int i=0;i<len;i++){
            res = Math.max(res,target[i]);
        }
        return res;
    }
}

使用当前的 数字和前面的几个数字进行比较 如果当前的比之前的大
就判断当前的 target里面的内容是否比 当前的大
再进行一次遍历 找出最小值

在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>