LeetCode53:Maximum Subarray

class Solution {public:int maxSubArray(vector<int>& nums) {return divide(nums,0,nums.size()-1);}int divide(vector<int> & nums,int left,int right){if(left==right)return nums[left];if(left>right)return numeric_limits<int>::min();int mid=left+(right-left)/2;int sum=0;int leftMax=0;for(int i=mid-1;i>=left;i–){sum+=nums[i];leftMax=max(leftMax,sum);}sum=0;int rightMax=0;for(int i=mid+1;i<=right;i++){sum+=nums[i];rightMax=max(rightMax,sum);}int tmp=leftMax+rightMax+nums[mid];return max(tmp,max(divide(nums,left,mid-1),divide(nums,mid+1,right)));}};

,这一次是一个告别,或者一个永远的告别,

LeetCode53:Maximum Subarray

相关文章:

你感兴趣的文章:

标签云: