返回一个数组中和最大的子数组

 源码如下

import java.util.Scanner;
public class we
{
    public static void main(String[] args)
    {
   
        int i,length;
        System.out.println("请输入要进行比较的数字个数:");
        Scanner in=new Scanner(System.in);
        //定义数组长度
        length=in.nextInt();
        int list[]=new int[length];
        System.out.println("请输入要进行比较的数字:");
        Scanner t=new Scanner(System.in);
        //定义数组的内容
        for(i=0;i<length;i++)
        {
            list[i]=t.nextInt();
        }
        //定义一个空的存储数组
        int size[]=new int[length];
        //将数组中的数字相加,求最大值
        size[0]=list[0];
        for(i=1;i<length;i++)
        {
            if(size[i-1]<0)
            {
                size[i]=list[i];
            }
            else
            {
                size[i]=list[i]+size[i-1];
            }
        }
        //求出最大值
        for(i=0;i<length-1;i++)
        {
            if(size[0]<size[i+1])
            {
                size[0]=size[i+1];
            }
        }
        //输出最大值
        System.out.println(size[0]);
    }
}
posted @ 2020-02-28 19:52  明月照我还  阅读(121)  评论(0编辑  收藏  举报