对于一个数组,尽可能地划分成两半(二分),加和最大的连续字数组或者在左边,或者在右边,或者跨越中间,一部分在左边,一部分在右边。 那么只要求出左半段数组的加和最大的连续子数组的和,求出右半段数组的加和最大的连续子数组的和,求出跨越中间的最大连续字数组的和,只要通过三者判断求出最大的那么就是整个数组最 ...
分类:
编程语言 时间:
2016-06-14 14:07:41
阅读次数:
303
作为零基础学习的弱智艰难的入行后,在黑暗中摸爬滚打中过了几个月,才想起应该开个博客记录下自己的学习历程和整理知识点。刚刚接触算法的我,博客就以记录我的算法学习历程为开端吧。多说无益,下面开始: 如果已知后三十天的股票涨跌停的情况,那么我该如何确定自己收益的最大值是多少呢?这里可以将股票每天的变化存进 ...
分类:
编程语言 时间:
2016-06-12 18:15:23
阅读次数:
204
题目:和为零的最大连续子数组思路:我首先想到的是前缀数组和,遍历一遍数组,计算出sum[i](表示从0-i的子数组之和)。有了前缀数组和,只要sum[i]=sum[j](i#include#includeusing namespace std;// O(n^2)int longestSubArray...
分类:
编程语言 时间:
2015-09-26 11:47:09
阅读次数:
151
一.题目输入一个二维整形数组,数组里有正数也有负数。求所有子数组的和的最大值。二.设计思想(1)首先把这个二维数组按行的数目分解为与列数目具有相同数目的一维数组;(2)再分别求出这几个一维数组的最大连续子数组之和,分别记录每一个最大连续数组的首末位置;(3)接着分别比较看这几个一维数组的首末位置是否...
分类:
移动开发 时间:
2015-06-14 18:06:08
阅读次数:
151
《返回一个二维整数数组中最大联通子数组的和》设计思想:(1)首先把这个二维数组按行的数目分解为与列数目具有相同数目的一维数组;(2)再分别求出这几个一维数组的最大连续子数组之和,分别记录每一个最大连续数组的首末位置;(3)接着分别比较看这几个一维数组的首末位置是否处于矩阵上相连的位置,找出位置上相....
分类:
移动开发 时间:
2015-06-12 22:14:11
阅读次数:
148
寻找最大连续子数组 这两天看了看数据结构与算法,对其中一个问题颇感兴趣,所以在这里写一下。问题:寻找最大连续子数组。 问题:在一个有正有负的数组中,寻找一个连续的、和最大的子数组。这个数组类似于下面的数组,否则这个问题没有意义(如果全是正数的话,所有数组元素的和一定是最大的,同样全为负数也没有...
分类:
编程语言 时间:
2015-06-09 11:32:41
阅读次数:
159
最大连续字数组
给定一个数组A[0,1,…,n-1],求A的连续子数组,使得该子数组的和最大。
例如:
数组:1,-2,3,10,-4,7,2,-5
最大字数组:3,10,-4,7,2
此问题有以下四种方法
1、 暴力法
2、 分治法
3、 分析法
4、 动态规划法
暴力法
直接求解A[I,…j]的值,其中,0
//暴力法
int MaxS...
分类:
编程语言 时间:
2015-04-08 19:52:41
阅读次数:
184
def MaxSum(self,array,n): sum=array[0] result=array[0] for i in range(0,n): if sumresult: result=sum end=i ...
分类:
编程语言 时间:
2015-04-07 18:58:37
阅读次数:
314
问题:给定一个数组a[0,...,n-1],求a的连续子数组,使得该子数组的和最大。例如: 数组:1,-2,3,10,-4,7,2,-5; 最大子数组:3,10,-4,7,2 结果为:18首先是暴力法: 1 //暴力法 2 int MaxSubArry(int *a, int n) 3 { 4...
分类:
编程语言 时间:
2015-04-07 17:20:43
阅读次数:
124
题目:在线性时间内非递归的求数组的最大连续子数组(连续和最大的子数组)。思路:设最大子数组的和为max,起点和终点位置为s、e,正在扫描的子数组的和为add,起点和终点位置为i、j。max的初始值为-∞。 1.若数组的值全为负,则返回最大值。 2.逐个扫描数组元素,更新add、i、j的值...
分类:
编程语言 时间:
2015-02-10 14:52:28
阅读次数:
204