读书人

java编程 随意给定一个整型数组,求这

发布时间: 2012-09-22 21:54:54 作者: rapoo

java编程 任意给定一个整型数组,求这个数组中哪一顺序段中的元素之和最大

class Suanfa
{
??? private static int startP;
??? private static int endP;
??? public static void main(String[] args)
?????? {
??? ??? int[] arr={1,2,-5,-4,10,12,-4,44,-66,100,-200,1000};//随意给定一个数组,求出这个数组的 哪一个顺序元素//之和最大,比如下角标从i到j段的元素和最大?? 那么maxSum=arr[i]+arr[i+1]+....+arr[j-1]+arr[j];
??? ??? int max=maxPart(arr);
??? ??? System.out.println(max);
??? ???
?????? }
?????? public static int maxPart(int[] arr)
?????? {
??? ?
??? ??? int i,j,k,s=0,maxSum=arr[0];
??? ??? ?for(k=0;k<arr.length;k++)//控制从哪一位开始累加的.0~arr.length-1;
??? ??? ?{
??? ??? ??? ?for(i=k;i<arr.length;i++)//控制参加累加运算的元素个数
??? ??? ??? {
??? ??? ??? ??? s=0;
??? ??? ??? ??? for(j=k;j<i+1;j++)//控制从k位开始,依次向后加的和.然后比较得出最大的.例如:arr[0],arr[0]+arr[1],...,arr[0]+..+arr[arr.length]比较哪个大 0就是k的实例形式
??? ??? ??? ??? {
??? ??? ??? ?????
??? ??? ??? ??? ? s+=arr[j];
??? ??? ??? ??? ???
??? ??? ??? ??? }
??? ??? ??? ??? if(s>maxSum)
??? ??? ??? ??? maxSum=s;
??? ??? ??? ???

??? ??? ?
??? ??? ?? }
??? ??? ?
??????? }
??? ???
?????? return maxSum;
?????? ??? }
??? ??? ?
}

读书人网 >编程

热点推荐