数组

该数组能实现子数组的最大和,最大子数组的组成以及此时已检测的子数组个数。

package 数组;

import java.util.Scanner;

public class shuzu {
    static Scanner in=new Scanner(System.in);
    public static void main (String[] args) throws InterruptedException{
        int num[]=new int[200];
        System.out.println("请输入数组长度");
        int n;
        n=in.nextInt();
        System.out.println("请输入数组");
        for(int i=0;i<n;i++) {
            num[i]=in.nextInt();
        }
        int max1[]=new int[200];
        int max=0; 
        int max2=0;
        int begin=0;
        int stop=0;
        int sign=0;
        max2=num[0];
        for(int i=0;i<n;i++) {
            if(max<=0) {
                max=num[i];
                max1[i]=max;
                begin=i+1;
            }else {
                max+=num[i];
                max1[i]=max;
            }
            if(max2<=max) {
                max2=max;
                System.out.println("当前最大子数组和:" + max2);
                stop=i+1;
            }else{
                System.out.println("当前最大子数组和:" + max2);
                stop=i;
            }
            sign++;
            System.out.println("组成最大子数组的数为第"+ begin +"个数到第"+stop+"个数");
            System.out.println("当前已检测"+ sign +"个子数组");
            Thread.sleep(2000);
        }
        System.out.println("该数组最大子数组为" + max2);
    }    
}

 

posted @ 2019-04-25 22:01  袁小丑  阅读(149)  评论(0编辑  收藏  举报