[leetCode]53. Maximum Subarray&&動態規劃
阿新 • • 發佈:2018-12-24
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
.
Subscribe to see which companies asked this question
動態規劃:
#include<iostream> #include<vector> using namespace std; int maxSubArray(vector<int>& nums) { int len=nums.size(); if(len==0) return 0; int sum=-1; int max=-100000; for(int i=0;i<len;i++) { if(sum<0) sum=nums[i]; else sum=sum+nums[i]; if(sum>max) max=sum; } return max; } int main() { int a[9]={-2,1,-3,4,-1,2,1,-5,4}; vector<int> v(a,a+9); cout<<maxSubArray(v)<<endl; return 0; }