机试题:最大序列和

版权声明:感谢阅读,欢迎批评指正。 https://blog.csdn.net/skyejy/article/details/88826036

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		while(sc.hasNext())
		{
			int n=sc.nextInt();
			int []a=new int[n];
			for(int i=0;i<n;i++)
			{
				a[i]=sc.nextInt();
			}
			int sum=0;
			int max=a[0];
			for(int i=0;i<n;i++)
			{
				sum=sum+a[i];
				if(sum>max)
				{
					max=sum;
				}
				if(sum<0)
				{
					sum=0;
				}
			}
			System.out.println(max);
		}
	}

}

这优秀的解法啊~尤其是sum<0 这里

我什么时候才能毫不费力地写出这样的解法呢~~~

猜你喜欢

转载自blog.csdn.net/skyejy/article/details/88826036
今日推荐