最大连续子数组和、乘积(动态规划)
2017-07-17 09:53
513 查看
1、最大连续子数组和
int MaxSumSubArray(int *a, int length) { int currentSum = 0; int maxSum = a[0]; for(int i = 0; i < length; i++) { if(currentSum >= 0) currentSum += a[i]; else currentSum = a[i]; if(currentSum > maxSum) maxSum = currentSum; } return maxSum; }
2、最大连续子数组乘积
double MaxProductSubArray(double *a, int length) { double maxEnd = a[0]; double minEnd = a[0]; double maxResult = a[0]; for(int i = 1; i < length; i++) { double end1 = maxEnd * a[i]; double end2 = minEnd * a[i]; maxEnd = max(max(end1, end2), a[i]); minEnd = min(min(end1, end2), a[i]); maxResult = max(maxResult, maxEnd); } return maxResult; }
相关文章推荐
- 动态规划——最大连续子数组和(或乘积)
- 笔试面试算法经典--连续子数组的最大乘积及连续子数组的最大和(Java)
- 动态规划(1)最大连续字数组乘积
- 动态规划--求最大连续子数组的和(Python实现)&求解最大连续乘积字串(Python实现)
- JAVA代码—算法基础:最大连续子数组乘积问题
- 【LeetCode】Maximum Product Subarray 求连续子数组使其乘积最大
- 最大子数组(I, II, III,IV,V)和最大子数组乘积 (动态规划)
- 最大连续子数组(分治法、动态规划)
- 连续子数组的最大乘积
- 笔试题:求最大连续子数组的最大乘积
- 【动态规划】之求连续子数组的最大和
- Array-----152. Maximum Product Subarray(最大连续子数组乘积)
- 连续子数组的最大和 动态规划实现
- 九度OJ 1501 最大连续子序列乘积 -- 动态规划
- LeetCode-152:Maximum Product Subarray (乘积最大连续子数组) -- medium
- 九度OJ 1501 最大连续子序列乘积 -- 动态规划
- 求连续子数组最大乘积
- 求解连续子数组乘积的最大值
- 【LeetCode】152. Maximum Product Subarray最大连续子数组乘积
- golang动态规划求解最大连续子数组和