程序员面试的那些小事程序员

lintcode 最小子数组

2016-12-28  本文已影响70人  yzawyx0220

给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
样例
给出数组[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<int> 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;
    }
};
上一篇 下一篇

猜你喜欢

热点阅读