java 计算最大子数组
package test; import java.util.Random; import java.util.Arrays; import java.util.Collections; public class test { public static void main(String[] args) { Random ra=new Random(); Integer a[]=new Integer[50]; for(int i=0;i<50;i++) { int m=ra.nextInt(10)-5; a[i]=m; } for(int i=0;i<50;i++) { System.out.print(a[i]+" "); } int max=Collections.max(Arrays.asList(a)); System.out.println(max); int max1 = 0; for(int i=0;i<a.length-1;i++) { for(int j=i+1;j<a.length;j++) { int sum=0; for(int k=0;k<=j-i;k++) { sum=sum+a[i+k]; } if(sum>max1) {max1=sum;} } } System.out.println(max1); } }
该算法时间复杂度不为O(n)比较笨的三层for循环算法。