lintcode 最小子数组

给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
样例
给出数组[1, -1, -2, 1],返回 -3
解法跟思路与最大子数组完全一样,不多说了。
http://www.jianshu.com/p/46dd20963ee2

class Solution {
public:
    /**
     * @param nums: a list of integers
     * @return: A integer denote the sum of minimum subarray
     */
    int minSubArray(vector nums) {
        // write your code here
        int sum = 0,result = nums[0];
        for (int i = 0;i < nums.size();i++) {
            sum += nums[i];
            result = min(result,sum);
            sum = min(sum,0);
        } 
        return result;
    }
};

你可能感兴趣的:(lintcode 最小子数组)