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();
        }
    
    }
  • 相关阅读:
    Oracle Scheduler Postponed job
    MySQL字符集问题
    LogMiner的一个案例
    Oracle Scheduler NLS_ENV
    ORA01555的模拟
    在线重定义 Oracle Redefinition
    MySQL Proxy 读写分离
    SQL判断分段的连续值
    基础复习之.net中new关键字的用法
    VB与C#相互转换
  • 原文地址:https://www.cnblogs.com/watchfree/p/5313643.html
Copyright © 2011-2022 走看看