[数据结构与算法分析]最大子序列和问题 -学习笔记

原创 2016年06月02日 08:33:25

Q:

给定整数A1,A2,A3.....An,求Aj-Ak相加的最大值

A:

public class MaxSub {
	public static void main(String[] args){
		int[] a = {-2,11,-4,13,-5,-2};
		System.out.println(method(a));
	}
	public static int method(int[] a){
		int maxSum = 0;
		int thisSum = 0;
		for(int i =0;i<a.length;i++){
			thisSum += a[i];
			if(thisSum>maxSum){
				maxSum = thisSum;
			}else if (thisSum<0) {
				thisSum = 0;
			}
		}
		return maxSum;
	}
}

这个算法是从数据结构与算法分析上抄来的,非常感叹她的精巧。

这个算法的核心思想:只要前面相加的数列不是负数就不会影响往后相加的最大值。

简直是算法精简的模范了。。。活活精简到O(n)

版权声明:本文为博主原创文章,未经博主允许不得转载。

数据结构与算法分析 学习笔记——最大子序列求和问题

#include int main() { int K,max=0,now=0; scanf("%d",&K); int a[K]; int i=0,j=0; ...

最大子序列和-数据结构学习笔记1.3(基本概念)

给定一个整数序列,a0, a1, a2, …… , an(项可以为负数),求其中最大的子序列和。如果所有整数都是负数,那么最大子序列和为0; 例如:对于序列-2, 11, -4, 13, -5, ...

求最大子序列和问题(读《数据结构与算法分析——C语言描述》有感)

根据《数据结构与算法分析——C语言描述》中的“最大子序列和”问题来看如何分析算法。...

数据结构与算法分析--最大子序列和问题

**最大连续子数列和一道很经典的算法问题,给定一个数列,其中可能有正数也可能有负数,我们的任务是找出其中连续的一个子数列(不允许空序列),使它们的和尽可能大。我们一起用多种方式,逐步优化解决这个问题。...

【数据结构和算法分析】最大子序列求和问题及联机算法

最大子序列求和问题

<数据结构与算法分析 C++描述>算法分析之最大子序列和问题

声明:这个系列博客是《数据结构与算法分析 C++描述》的读书笔记系列 参考博客:点击打开链接 本文是原书第二章内容,主要内容包括:算法的时间复杂度分析/算法的优化,分析的例子是很出名的最大子序列求...

【数据结构与算法】最大子序列和问题的求解

题目:给一个int类型的数组,就最大子序列的和 解法:一共有四种算法,算法的时间复杂度分别为: 【算法一】 结果是求一个子序列,即其实序列号和终止序列号,那我们就对所有可能的起止序列号...

【算法与数据结构】最大子序列和问题

(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.题目      给定一个数字序列,其中有正有负,确定最大子序列和。用穷举法最好的结果也是时间复杂度O(n...

数据结构与算法分析之最大子序列和

问题描述:给定整数A1,A2......AN(keng)

求最大子序列问题-数据结构

问题描述 最大子序列问题是一个常见的数据结构问题,即求出给定数组{1,3,4,5,6-10,3} 中加和最大的子序列,这个例子的解很明显是{1,3,4,5,6}。 解决算法分析 -这个问题一看便有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[数据结构与算法分析]最大子序列和问题 -学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)