连续子数组的最大和
来源:互联网 发布:上班玩游戏 知乎 编辑:程序博客网 时间:2024/06/09 06:51
package JJ;public class Main17 {public static void main(String[] args) {int[] arr={6,-3,-2,7,-15,1,2,2};int result=FindGreatestSumOfSubArray(arr);System.out.println(result);} public static int FindGreatestSumOfSubArray(int[] array) { if(array.length==0) return 0; else{ int total=array[0],maxSum=array[0]; for(int i=1;i<array.length;i++){ if(total>=0) total+=array[i]; else total=array[i]; if(total>maxSum) maxSum=total; } return maxSum; } }}
算法时间复杂度O(n)
用total记录累计值,maxSum记录和最大
基于思想:对于一个数A,若是A的左边累计数非负,那么加上A能使得值不小于A,认为累计值对
整体和是有贡献的。如果前几项累计值负数,则认为有害于总和,total记录当前值。
此时 若和大于maxSum 则用maxSum记录下来
阅读全文
0 0
- 数组连续子数组的和最大
- 数组连续子数组的最大和
- 连续子数组的最大和
- 连续子数组的最大和
- 连续子数组的最大和
- 求连续子数组的最大和
- 连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 连续子数组的最大和
- 连续子数组的最大和
- (8)连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 连续子数组的最大和
- 求连续子数组的最大和
- 连续子数组的最大和
- 连续子数组的最大和
- Java IOException
- LeetCode Algorithm #14 Longest Common Prefix
- Hibernate 一对多关联映射& 多对多管理映射
- 装配Bean——通过java代码装配bean
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- 连续子数组的最大和
- DS1302时钟芯片驱动程序
- SSH整合---使用Maven依赖管理&构建
- js添加loading加载样式
- Hadoop -- 常用组建
- POJ 1664放苹果题解
- python笔记之psutil模块
- opencv一些方法之我解——cvCreateHist
- Java有序数组插入数据的三种方法