zoukankan      html  css  js  c++  java
  • 单调递增最长子序列

    单调递增最长子序列

    时间限制:3000 ms  |  内存限制:65535 KB

    难度:4

    描述

    求一个字符串的最长递增子序列的长度

    如:dabdbf最长递增子序列就是abdf,长度为4

    输入

    第一行一个整数0<n<20,表示有n个字符串要处理

    随后的n行,每行有一个字符串,该字符串的长度不会超过10000

    输出

    输出字符串的最长递增子序列的长度

    样例输入

    3

    aaa

    ababc

    abklmncdefg

    样例输出

    1

    3

    7

    import java.util.Arrays;
    import java.util.Scanner;
    public class Main {
        
        static int maxLen(String str,int n){
            int a[]=new int[n+1];
            char ch[]=str.toCharArray();
            Arrays.fill(a, 1);
            for(int i=0;i<=ch.length;i++){
                for(int j=i+1;j<ch.length;j++){
                    if(ch[j]>ch[i] && a[j]<a[i]+1)
                        a[j]=a[i]+1;
                }
            }
            
            int max=-10000;
            for(int i=0;i<n;i++){
                if(max<a[i]) max=a[i];
            }
            return max;
        }
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc=new Scanner(System.in);
            int m=sc.nextInt();
            
            while(m-->0){
                String str=sc.next();
                System.out.println(maxLen(str,str.length()));
                
                
            }
            sc.close();
        }
    
    }
  • 相关阅读:
    AVPlayer中的问题
    封装网络请求
    FMDB的使用方法
    设置UITextField占位符的颜色和字体
    SQL SERVER性能优化综述
    关于学习
    学习java中对《类与对象》的认知
    Felling1-java
    关于学习JAVA第二章的心得
    学习JAVA第一章的心得
  • 原文地址:https://www.cnblogs.com/watchfree/p/5313643.html
Copyright © 2011-2022 走看看