@Test
public void fun2() {
int[] arr = {1, 2, 5 ,7,20, -10, 20, 5};
int maxSequense = this.getMaxSequense(arr);
System.out.println(maxSequense);
}
public int getMaxSequense(int[] arr) {
int max = arr[0];
int sum = arr[0];
for (int i = 1; i < arr.length; i++) {
sum += arr[i];
max = this.getMax(sum, max);
if (sum < arr[i]) {
sum = arr[i];
}
}
return max;
}
/** * 比较大小 * @param sum * @param max * @return */
private int getMax(int sum, int max) {
return sum > max ? sum : max;
}
相关文章
- c/c++ 算法之求连续子数组的最大和
- 【bzoj 十连测】[noip2016十连测第八场]Problem B: 降雷皇(最长上升子序列+线段树|next数组)
- golang求连续子数组的最大和实例
- python求最大连续子数组的和
- Java基于动态规划法实现求最长公共子序列及最长公共子字符串示例
- 算法-子数组连续序列最大和其时间复杂度如何从O(n^3)到O(n)
- 利用C语言来求最大连续子序列乘积的方法
- 注意区分啊~这里求的的事公共子串不是子序列。NOJ308-Substring
- Long Long Message (poj2774 后缀数组求最长公共子串)
- spoj 694. Distinct Substrings 后缀数组求不同子串的个数