Java箔方怏嶄銭偬n倖圷殆聞凪才恷寄 - 園殻秘壇利
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-20
+ max);
}
else
{
System.out.println("Max sum is 0 .");
}
}
//圭隈4?扮寂鹸墫業葎O(n*logn)
public int Max4(int[] arr, int left, int right)
{
int sum = 0;
int max = 0;
int max1 = 0;
int max2 = 0;
int middle = 0;
if(left > right)
{
return 0;
}
else if(left == right)
{
return (arr[left] > 0 ? arr[left] : 0);
}
middle = (left + right)/2;
for(int i=middle; i>=left; i--)
{
sum = sum + arr[i];
if(sum > max1)
{
max1 = sum;
}
}
sum=0;
for(int i=middle+1; i<=right; i++)
{
sum = sum + arr[i];
if(sum > max2)
{
max2 = sum;
}
}
max = max1+max2;
int temp1 = Max4(arr, left, middle);
int temp2 = Max4(arr, middle+1, right);
if(temp1 > max)
{
max = temp1;
}
if(temp2 > max)
{
max = temp2;
}
return max;
}
//圭隈5?扮寂鹸墫業葎O(n)
public void Max5(int[] arr)
{
int max1 = 0;
int max2 = 0;
int left = -1;
int right = -1;
int temp = 0;
for(int i=0; i<arr.length; i++)
{
temp = (max1+arr[i]);
if(temp > 0)
{
max1 = temp;
}
else
{
left = i+1;
max1 = 0;
}
if(max1 > max2)
{
right = i;
max2 = max1;
}
}
if(right > 0)
{
System.out.println("Max is from element " + left + "(" + arr[left] + ") to element " + right + "(" + arr[right] + "), max sum is " + max2);
}
else
{
System.out.println("Max sum is 0 .");
}
}
}
補竃葎? Java旗鷹
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Java箔方怏嶄銭偬n倖圷殆聞凪才恷寄 - 園殻秘壇利的所有评论