【题目】
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
For example, given the array [?2,1,?3,4,?1,2,1,?5,4],
the contiguous subarray [4,?1,2,1] has the largest sum = 6.
【题意】
给定一个数组,找出和最大的子数组,返回...
分类:
其他好文 时间:
2014-05-24 22:19:17
阅读次数:
260
题意:给一个整数序列(可能有负数),求最短的连续序列使得序列之和大于等于整数x;
解法:第一种是On的复杂度:
我们要的是sum[j]-sum[i]>=x,如果有两个决策j = sum[j'],那么j就是没用的。即维护一个sum[j]递增序列。然后每次可以二分查找,但是这里有个特点就是要得到最近的,可以同时维护一个left指针,left指针用于跟进更...
分类:
其他好文 时间:
2014-05-15 03:20:26
阅读次数:
303
题意:最大连续子序列和,在一个数组中找到和最大的连续子数组
思路:dp, 对于第i个数,有两种选择:把它加入在子数组里,不加入子数组(子数组到此结束)
加不加入子数组,要比较它加入前后子数组的总和是变大了还是变小了,如果变大则加入,变小则不加入
所以,我们需要记录以i-1结尾的子数组的总和,最后的结果在这些总和中取最大的那个
f[i] = max(f[i-1]+a[i],f[i-1]);
max({f[i]})
实现时用两个变量,一个保存f[i-1],一个保存目前为止最大的f[i]
复杂度:时间O(n),空...
分类:
其他好文 时间:
2014-05-14 21:53:14
阅读次数:
250
戳我去解题当从头至尾遍历数组时,对于数组中的每一个元素,有两种选择:1.加入之前的subArray2.舍弃之前的subArray,从该元素开始另起一个subArray那么该如何确定选择执行哪一种情况呢?如果之前subArray值大于0,那么我们可以认为这个subArray对以后的后续结果是有贡献的,...
分类:
其他好文 时间:
2014-05-09 09:34:10
阅读次数:
274
题目链接 Find the contiguous subarray within an array
(containing at least one number) which has the largest sum. For example, given
the array [?2,1,?3,4,...
分类:
其他好文 时间:
2014-05-07 16:42:42
阅读次数:
287
2014-04-28 23:35题目:最大子数组和问题。解法:O(n)解法。代码: 1 //
17.8 Find the consecutive subarray with maximum sum in an array. 2 // O(n)
online algorithm. 3 #include...
分类:
其他好文 时间:
2014-04-29 16:35:28
阅读次数:
429