zoukankan      html  css  js  c++  java
  • JAVA最大子段和

    题目描述

    给定n个整数(可能是负数)组成的序列a[1], a[2], a[3], …, a[n],求该序列的子段和如a[i]+a[i+1]+…+a[j]的最大值。

    输入

    每组输入包括两行,第一行为序列长度n,第二行为序列。

    输出

    输出字段和的最大值。

    样例输入 Copy

    5
    -1 0 1 2 3

    样例输出 Copy

    6

    package book;
    
    import java.util.Scanner;
    /*
     * 最大字段和
     */
    public class 最大字段和 {
    static int n;
    static int array[];
    static int res[];
    	public static void main(String[] args) {
    	    Scanner sc=new Scanner(System.in);
    	    n=sc.nextInt();
    	    array=new int[n];
    	    res=new int[n];
    	    for(int i=0;i<n;i++) {
    	    	array[i]=sc.nextInt();
    	    }
    	    slove();
    
    	}
    	private static void slove() {
    	   res[0]=array[0];
    	   int maxsum=res[0];
    	   for(int i=1;i<n;i++) {
    		   if(res[i-1]>0) {
    			 res[i]=res[i-1]+array[i];	 
    		   }else {
    			   res[i]=array[i];
    		   }
    		   if(res[i]>maxsum) {
    			   maxsum=res[i];
    		   }
    	   }
    	   System.out.println(maxsum);
    		
    	}
    
    }
  • 相关阅读:
    XML 的学习笔记3
    XML 的学习笔记2
    XML 的学习笔记1
    Tomcat 学习笔记2
    Tomcat 学习笔记1
    sol
    sol
    0、安装Ionic2
    ionic2 目录
    6、Angular Route 路由
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13309575.html
Copyright © 2011-2022 走看看