问题 已知一个数组a[1000000]; 有 0<= i < j <= 1000000;找到满足条件的 i, j 使 a[i] - a[j] 最大 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主这2题是作业?感觉是刚才那个题目的扩充这个题的原理是b[i] = a[i] - a[i+1];a[i] - a[j] = a[i] - a[i+1] + a[i+1] - a[i+2] +.... + a[j-1] - a[j]; = b[i] + b[i+1] +.....+ b[j-1]public class GetValuesOfSubArray { public static int getMaxDifOfArray(int[] values) { int[] newArr = new int[values.length - 1]; for (int i = 0; i < newArr.length; i++) { newArr[i] = values[i] - values[i + 1]; } return getMaxSumOfSubArray(newArr); } 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; }} 急!急!请高手指点哈,发送一条短信,是否在两分钟内回复 问一个正则表达式 session问题 跪求如何写java程序将pdf转换成html或者txt格式 JTabbedPane的选项卡扩展问题 如何将一个java程序作成服务程序,具体见帖子内容 请问这是java的什么写法?就像以前第一次遇到内部类时的样子! 关于字体的问题 用==号就是不行,而我用EQUALS就可以,为什么? 在一个SESSION BEAN中调用另外一个SESSION BEAN,无法调用!在线等待! 一个小问题 来请教一个关于HTTPREQUEST和 HTTPRESPONSE问题
感觉是刚才那个题目的扩充
这个题的原理是
b[i] = a[i] - a[i+1];
a[i] - a[j] = a[i] - a[i+1] + a[i+1] - a[i+2] +.... + a[j-1] - a[j];
= b[i] + b[i+1] +.....+ b[j-1]public class GetValuesOfSubArray {
public static int getMaxDifOfArray(int[] values) {
int[] newArr = new int[values.length - 1];
for (int i = 0; i < newArr.length; i++) {
newArr[i] = values[i] - values[i + 1];
}
return getMaxSumOfSubArray(newArr);
}
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;
}
}