一个小问题 请问各位大侠 怎么求一个数组的子数组和的最大值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 说实话这题不值 100 分public static int getMinSumOfSubArray(int[] values) { int nStart = values[values.length - 1]; int nAll = nStart; for (int i = values.length - 2; i >= 0; i--) { nStart = Math.min(values[i], nStart + values[i]); nAll = Math.min(nStart, nAll); } return nAll; } public static int getMaxSumOfSubArray(int[] values) { int nStart = values[values.length - 1]; int nAll = nStart; for (int i = values.length - 2; i >= 0; i--) { nStart = Math.max(values[i], nStart + values[i]); nAll = Math.max(nStart, nAll); } return nAll; }这下可以了 public static int maxSubsequenceSub(int a[]){ int maxSum=0; int thisSum=0; for(int i=0,j=0;j<a.length;j++){ thisSum+=a[j]; if(thisSum>maxSum){ maxSum=thisSum; }else if(thisSum<0){ i=j+1;thisSum=0;}}return maxSum;} 反射机制中如何获得static final的serialVersionUID值 为了java有没有必要安装Linux? 面试挺难的(多选题) 利用JAVA将经纬度写入EXIF中 关于jar 关于框架的问题 看那里错了并帮忙改一下 怎样建立RMI-HTTP隧道 关于java Applet的IE载入问题。 VJ最新版是?.0(新手) 构造函数的重载,这个实例有问题,帮我看一下错误!! 问题
int nStart = values[values.length - 1];
int nAll = nStart;
for (int i = values.length - 2; i >= 0; i--) {
nStart = Math.min(values[i], nStart + values[i]);
nAll = Math.min(nStart, nAll);
}
return nAll;
}
public static int getMaxSumOfSubArray(int[] values) {
int nStart = values[values.length - 1];
int nAll = nStart;
for (int i = values.length - 2; i >= 0; i--) {
nStart = Math.max(values[i], nStart + values[i]);
nAll = Math.max(nStart, nAll);
}
return nAll;
}这下可以了
public static int maxSubsequenceSub(int a[]){ int maxSum=0;
int thisSum=0;
for(int i=0,j=0;j<a.length;j++){
thisSum+=a[j];
if(thisSum>maxSum){
maxSum=thisSum;
}else if(thisSum<0){
i=j+1;
thisSum=0;
}}
return maxSum;
}