java算法题代码 java算法编程题( 二 )


if(tempC == null){
bombCount.put(cBombTime, "a");
}
}
System.out.println("All bomb count = " + bombCount.size());
}
一道java算法题提供了正确代码,不知道是不是我理解错误运行结果并不是最大值?首先理解下题意java算法题代码,关键是连续java算法题代码的子数组java算法题代码 , 比如{1,2,-1},连续java算法题代码的子数组包括{1}、{2}、{-1}、{1,2}、{2,-1}、{1,2,-1}
其次是求各子数组和java算法题代码的最大值,上面的算法求最大值分两部分,循环遍历所有值
curSum :用于某一个子数组的累加和
curMaxSum:用于记录历史最大累加和
上面算法的start和end其实没用,本意是找出具体子数组,但上面算法部分情况下是无法实现的
@Test
public void test(){
//int[] num = {1,-2,3,10,-4,7,2,-5};
//int[] num = {1,-2,3,10,-4,10,2,-5};
int[] num = {-1,-2,3,4,-5,-6,-7};
System.out.println(maxSum(num));
}
public int maxSum(int[] num){
int curSum = 0;
int curMaxSum = -99999999;
int finalStart = 0;
int finalEnd = 0;
int start = 0;
for(int i=0;inum.length;i++){
if(curSum=0){
curSum = num[i];
start = i;
}
else{
curSum += num[i];
}
if(curSumcurMaxSum){
finalStart = start;
finalEnd = i;
curMaxSum = curSum;
}
}
for(int i = finalStart;i=finalEnd;i++){
System.out.println(num[i]);
}
return curMaxSum;
}
【java算法题代码 java算法编程题】关于java算法题代码和java算法编程题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读