java求最大递增子序列算法

求最大递增子序列:

复制代码
package com.test.algorithm;

import java.util.Arrays;

/**
 * Created by Administrator on 2022/10/12.
 */
public class MaxIncrSub {
    /*
        求最大递增子序列
     */
    public static void main(String[] args) {
        int[] a = {1,3,2,0,4};
        int[] b = new int[a.length];
        int len;
        int n = a.length;
        b[0] = 1;
        for(int i=1;i<n;i++){
            len = 0;
            for(int j=0;j<i;j++){
                if(a[j]<=a[i]&&len<b[j]){
                    len = b[j];
                }
            }
            b[i] = len + 1;
        }
        System.out.println(Arrays.toString(b));
        int maxLen = getMaxLen(b);
        System.out.println(maxLen);
    }

    private static int getMaxLen(int[] b) {
        int temp = 0;
        for(int i=0;i<b.length;i++){
            if(b[i] > temp){
                temp = b[i];
            }
        }
        return temp;
    }
}
复制代码

 输出结果:

[1, 2, 2, 1, 3]
3

 

posted @   super超人  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示