53. Maximum Subarray

Description:
Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.

Example:
Input: [-2,1,-3,4,-1,2,1,-5,4],
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.

Analysis:

class Solution {
public:
    int maxSubArray(vector& nums) {
        int ret = INT_MIN;
        int cur = 0;

        for (int i = 0; i < nums.size(); i ++) {
           cur = max(cur + nums[i], nums[i]);
           ret = max(ret, cur);
        }
        return ret;
    }
};

你可能感兴趣的:(leetcode,动态规划)