美文网首页
最长递增子序列(LIS)

最长递增子序列(LIS)

作者: fuel | 来源:发表于2016-08-14 22:40 被阅读0次

使用数组len来记录前i个元素最长子序列的长度,因此
len[i+1]=max{1,len[k]+1},arr[i+1]>arr[k],for any k<=i;

public static int get(int[] data) {  
        int[] len = new int[data.length];// 记录最长信息  
        for (int i = 0; i < len.length; i++) {  
            len[i] = 1;  
        }  
        for (int i = 0; i < data.length; i++) {  
            for (int j = i - 1; j >= 0; j--) {  
                if (data[i] > data[j] && len[i] < len[j] + 1) {  
                    len[i] = len[j] + 1;  
                }  
            }  
        }  
        int max = -1;  
        for (int i = 0; i < len.length; i++) {  
            if (max < len[i]) {  
                max = len[i];  
            }  
        }  
        return max;  
    }  

相关文章

  • 动态规划-LIS

    LIS 最长递增子序列 如 x 的 最长递增子序列长度为5 方法一 对 x 排序(升序)生成 x_sorted 对...

  • 最长递增子序列

    最长递增子序列(Longest Increasing Subsequence,简写 LIS)是动态规划比较经典的一...

  • 最长递增子序列问题 Java

    最长递增子序列问题 LIS(longest increasing subsequence) 例如 给定一个数列,长...

  • 最长递增子序列【LIS】

    基准时间限制:1 秒 空间限制:131072 KB 分值: 0难度:基础题 给出长度为N的数组,找出这个数组的最长...

  • 最长递增子序列(LIS)

    使用数组len来记录前i个元素最长子序列的长度,因此len[i+1]=max{1,len[k]+1},arr[i+...

  • LIS- 最长递增子序列

    一维 由于是序列,不是子串。所以dp数组回头找肯定是全部都要,就这么个思想 二维 354这个信封问题其实还是操作一...

  • LeetCode-300-最长递增子序列

    LeetCode-300-最长递增子序列 300. 最长递增子序列[https://leetcode-cn.com...

  • LintCode 最长上升子序列

    给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。 说明 最长上升子序列的定义: 最长上升子序列问...

  • LintCode 最长上升子序列

    题目 给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。 说明最长上升子序列的定义:最长上升子序列...

  • LintCode 最长上升子序列

    题目 给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。说明最长上升子序列的定义:最长上升子序列问...

网友评论

      本文标题:最长递增子序列(LIS)

      本文链接:https://www.haomeiwen.com/subject/vrtusttx.html