动态规划----Maximun Subarray
来源:互联网 发布:奥尔弗斯 知乎 编辑:程序博客网 时间:2024/06/05 04:10
问题描述:
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.
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.
动态规划描述:
方法一:
源代码:
class Solution {public: int maxSubArray(vector<int>& nums) { int result = INT_MIN, f = 0; for(int i=0; i<nums.size(); ++i){ f = max(f+nums[i], nums[i]); result = max(result, f); } return result; }};
方法二:
源代码:输出结果和所选的值:
#include<iostream>#include<algorithm>#include<vector>using namespace std;int maxSubArray(int *arr, int n, vector<int> &path){int result = INT_MIN, f = 0;vector<int> vec;for (int i = 0; i < n; ++i){int a = f + arr[i];if (a>=arr[i]){f = a;vec.push_back(arr[i]);}else{vec.clear();path.clear();vec.push_back(arr[i]);f = arr[i];}if (result < f){result = f;for (auto const &t : vec)path.push_back(t);vec.clear();}}return result;}int main(){int arr[] = { 1, -2, 3, 10, -4, 7, 2, -5 };vector<int> path;cout << "Max is " << maxSubArray(arr, sizeof(arr) / sizeof(int), path) << endl;cout << "数字分别为:";for (auto it = path.begin(); it != path.end(); ++it)cout << *it << " ";cout << endl;cout << __DATE__ << " " << __TIME__ << endl;system("pause");return 0;}
Max is 18数字分别为:3 10 -4 7 2Aug 25 2016 11:45:50请按任意键继续. . .
0 0
- 动态规划----Maximun Subarray
- [LeetCode] Maximun Subarray
- Leetcode 动态规划 Maximum Subarray
- 动态规划之Maximum Subarray
- leetcode---Maximum Subarray---动态规划
- [leetcode刷题系列]Maximun Subarray
- 54.Maximum Subarray(动态规划)
- 152. Maximum Product Subarray 动态规划
- 【Leetcode】53. Maximum Subarray【动态规划】
- 【Leetcode】152. Maximum Product Subarray 【动态规划】
- 53. Maximum Subarray-动态规划/分治
- 11.【动态规划】Maximum Subarray--Accepted code
- leetcode-53-Maximum Subarray 动态规划
- [leetCode]53. Maximum Subarray&&动态规划
- [LeetCode]53. Maximum Subarray (动态规划)
- (动态规划)LeetCode#152. Maximum Product Subarray
- 13.2—动态规划—Maximum Subarray
- 动态规划解152. Maximum Product Subarray
- 网络流最大流算法(ISAP算法及DINIC算法)
- PHP获得数组的交集与差集
- 坐标尺寸 大锅烩
- 为什么一般hashtable的桶数会取一个素数
- Client-Side Data Storage-O'Reilly 2016(读书笔记): 这本书内容太弱了
- 动态规划----Maximun Subarray
- 漫步微积分二十六——Sigma符号和一些特殊和
- android-sdk-linux/tools/android: java: not found
- nginx与php-fpm通信的两种方式
- 比赛心得
- BAPC2014 K题 Key to Knowledge(中途相遇法,hash,状态压缩)
- hibernate映射的数据类型
- c++构造函数,拷贝构造函数,赋值构造函数
- Session的原理