• 在一个序列中,求一个递增序列的最大和


    在一个序列中,求一个递增序列的最大和

    package com.li.haoweilai;
    
    import java.io.InputStream;
    import java.util.Scanner;
    
    /**
     * @program: GradleTestUseSubModule
     * @author: Yafei Li
     * @create: 2018-08-28 18:30
     **/
    public class Main5 {
        public static void main(String[] args){
            Main5 main1=new Main5();
            Class clazz = main1.getClass();
            InputStream Systemin = clazz.getResourceAsStream("/haoweilai/main5");
            Scanner scanner = new Scanner(Systemin);
    
            int N=100;
            int[][] douarrs=new int[N][N];
            int[] arri = new int[100];
            int index=0;
            while (scanner.hasNextInt()) {
                arri[index++]=scanner.nextInt();
            }
    
            for (int i = 0; i < N; i++) {
                douarrs[i][i]=arri[i];
            }
    
            for (int i = 0; i < N; i++) {
                if (arri[i] > arri[0]) {
                    douarrs[0][i] = arri[0] + arri[i];
                }else {
                    douarrs[0][i]=arri[i];
                }
            }
    
            int max=0;
            for (int i = 1; i < N; i++) {
                for (int j = i; j < N; j++) {
                    if ( j==i) {
                        douarrs[i][j]=douarrs[i-1][j];
                        if (douarrs[i][j] > max) {
                            max = douarrs[i][j];
                        }
                    }else if(arri[j]>arri[i] && douarrs[i][i]+arri[j] > douarrs[i-1][j]){
                        douarrs[i][j]=douarrs[i][i]+arri[j];
                        if (douarrs[i][j] > max) {
                            max = douarrs[i][j];
                        }
                    }else {
                        douarrs[i][j]=douarrs[i-1][j];
                        if (douarrs[i][j] > max) {
                            max = douarrs[i][j];
                        }
                    }
                }
            }
    
            System.out.print(max);
        }
    }

    数据

    5 1 3 4 9 7 6 8

    结果23  

    是1 3 4 7 8 递增序列和的最大值。

  • 相关阅读:
    电子设计技术支持网站
    用nero刻录系统碟,数据碟
    winsock编程学习1
    java学习开发环境的构建
    第五次作业 计科
    第四次作业 计科
    第三次作业 计科
    第一次作业 计科
    第二次作业 计科
    maven中的三种工程,以及在idea中构建父子工程。
  • 原文地址:https://www.cnblogs.com/liyafei/p/9551015.html
Copyright © 2020-2023  润新知