53. Maximum Subarray(最大子序列)
2017-08-24 20:53
120 查看
标签(空格分隔): leetcode dp
#
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.
题意:
1. 找到一个数组(包含至少一个数字)的连续子数组,其中包含最大的和。
例如;
挑战:如果您已经找出了O(n)解决方案,请尝试使用divide and conquer approach,对其他解决方案进行编码,这更为微妙。
暴力破解,结果会超时:
o(n)的方法:
#
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.
题意:
1. 找到一个数组(包含至少一个数字)的连续子数组,其中包含最大的和。
例如;
//给定一个序列: [-2,1,-3,4,-1,2,1,-5,4] 最大和的连续序列: [4,-1,2,1]
挑战:如果您已经找出了O(n)解决方案,请尝试使用divide and conquer approach,对其他解决方案进行编码,这更为微妙。
暴力破解,结果会超时:
int sum[10000][10000]; class Solution { public: int maxSubArray(vector<int>& nums) { int len = nums.size(); if (len == 1)return nums[0]; int maxsum = INT_MIN; for(int k = 0; k != len; ++k) sum[k][k] = nums[k]; for(int i = 0; i != len;++i) for (int j = i; j != len; ++j) { if (i !=j ) sum[i][j] = sum[i][j - 1] + sum[j][j]; if (sum[i][j] > maxsum) maxsum = sum[i][j]; } return maxsum; } };
o(n)的方法:
class Solution { public: int maxSubArray(vector<int>& nums) { if (nums.size() < 2) return nums[0]; int endHere = nums[0]; int answer = nums[0]; for (int i = 1; i < nums.size(); ++i) { endHere = max(endHere + nums[i], nums[i]); answer = max(answer, endHere); } return answer; } };
相关文章推荐
- hdu 1087 Super Jumping! Jumping! Jumping!(dp:上升子序列最大和)
- 九度 1011 最大连续子序列
- 求最大子序列及其效率解析
- 如何查找数组中和最大的子序列
- 求两个字符串公共子序列的最大长度(参考阿里巴巴2015研发笔试)(简单)
- (字符串的处理4.7.16)POJ 1159 Palindrome(让一个字符串变成回文串需要插入多少个字符...先逆序,在减去公共子序列的最大长度即可)
- [置顶] 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离总结
- HDU 1231 最大连续子序列
- 关于最大连续子序列问题
- hdu 2845(最大不连续子序列)
- hdu1003求最大子序列
- hdu1231 最大连续子序列
- 找工作知识储备---数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
- 数组中子序列最大和算法
- Maximum Subarray 动态规划 最大连续子序列和
- 最大子矩阵(最大子序列变形)
- UVA 507 Jill Rides Again 最大子序列和
- 动态规划--最大子序列问题
- HDOJ 1231 最大连续子序列
- 最大连续子序列和