如数组为环型数组,求数组中最大子数组的和。不要求时间复杂度。

如数组为环型数组,求数组中最大子数组的和。不要求时间复杂度。

package text02;
 
import java.util.Scanner;
 
public class FindMaxArray {
 
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        int length;//定义数组长度length
        int n;//定义变化后的数组的长度
        System.out.println("请输入数组元素个数");
        Scanner sc = new Scanner(System.in);
        length=sc.nextInt();
        n=2*length;
         
        int[] a = new int[n];
        System.out.println("请输入数组中的元素:");
        
        for(int i=0;i<length;i++)
        {   
             a[i] = sc.nextInt();
        }
        int max=a[0];
        int s=0;//定义求和后的元素
        for(int i=0;i<length;i++)
         {
           s=0;
           for(int j=i;j<length+i;j++)
           {
              s=s+a[j];
              if(s>max)
              {
                 max=s;
              }
           }
          a[length+i]=a[i];                                //每次将已经计算过的数放到最后
         }
        System.out.println("最大子数组的和为:"+max);
        sc.close();
     
 
    }
 
}

  

原文地址:https://www.cnblogs.com/xiatian21/p/12383903.html