原文:关于最大子段和线性算法的证明

重复题目: 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O n 。 此题最初载于 http: blog.csdn.net v JULY v article details 我在文章中也对其做了总结,并对线性时间的算法做了自己的证明,这里重复如下 其实后面的递归式本身就证明了算法的正确性,这里只是希 ...

2012-04-10 20:15 10 1949 推荐指数:

查看详情

分治算法 ------最大子段

1.最大子段和问题的描述 2.分治策略的求解思路 用分治法求解这个问题 。 在数组的 center = (right-left)/2+left 位置处分开。形成两个子数组。 那么,最大子段和 可能出现在三个位置:           a.可能出现在 ...

Fri Oct 06 00:52:00 CST 2017 0 7501
算法设计与分析——最大子段和(分治)

一、问题描述 Description 给定有n个整数(可能为负整数)组成的序列a1,a2,...,an,求该序列连续的子段和的最大值。 如果该子段的所有元素和是负整数时定义其最大子段和为0。 Input 第一行有一个正整数n(n<1000),后面跟n个整数,绝对值都小于10000 ...

Wed Sep 18 01:28:00 CST 2019 1 1561
关于求最大子段和的几种算法

一、比较朴素的算法 算法思想:我们确定每个子段和开始的位置,分别为第一个,第二个,第三个......第N个,然后计算从这个位置开始到这个位置之后的每个位置的子段和,更新记录最大子段和。 时间复杂度:O(n^2) 算法实现(Java): 二、分治法(递归) 算法思想 ...

Wed May 10 04:55:00 CST 2017 0 3247
最大子段算法分析

最大子段和问题(Maximum Interval Sum) 一.问题描述  给定长度为n的整数序列,a[1...n], 求[1,n]某个子区间[i , j]使得a[i]+…+a[j]和最大.或者求出最大的这个和.例如(-2,11,-4,13,-5,2)的最大子段和为20,所求子区间为[2,4 ...

Fri Mar 08 01:09:00 CST 2013 8 2632
算法导论之最大子段

和的最大值,即为最大收益,所以就是最大子段和的问题。   还有一点说明的是算法的实现是和语言没有关系 ...

Thu May 14 18:21:00 CST 2015 6 1657
详解 最大子段

题目名称:最大子段和 题目描述:给出一段序列,选出其中连续且非空的一段使得这段和最大。 输入格式: 第一行是一个正整数N,表示了序列的长度。 第2行包含N个绝对值不大于10000的整数A[i],描述了这段序列。 输出格式: 仅包括1个整数,为最大子段和是多少。子段的最小长度 ...

Mon Dec 25 21:20:00 CST 2017 0 1415
最大子数组和(最大子段和)

比如对于数组[1,-2,3,5,-1,2] 最大子数组和是sum[3,5,-1,2] = 9, 我们要求函数输出子数组和的最大值,并且返回子数组的左右边界(下面函数的left和right参数). 本文我们规定当数组中所有数都小于0时,返回数组中最大的数(也可以规定返回0,只要让以下代码中 ...

Tue Apr 29 07:29:00 CST 2014 0 13175
数组的连续最大子段

  问题描述:输入是一个大小为n的整型数组,要求输出数组的任何连续子数组中的最大值。例如:输入的数组为array[10] = {31,-41,59,26,-53,58,97,-93,-23,84};输出最大连续子数组和为array[2...6]:187   算法1:对所有满足0<=i< ...

Mon Mar 04 05:44:00 CST 2013 3 5203
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM