OJ lintcode 最小子数组

作者: DayDayUpppppp | 来源:发表于2017-02-19 20:04 被阅读10次

给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
注意事项
子数组最少包含一个数字
您在真实的面试中是否遇到过这个题?
Yes
样例
给出数组[1, -1, -2, 1],返回 -3

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;  //记录当前最小的结果
        int min=0;  //记录最小的结果
        int p_min=nums[0];
        int flag=0;

        for(int i=0;i<nums.size();i++){
            sum=sum+nums[i];
            if(sum>0){
                sum=0;
            }
            else{
                if(min>sum){
                    min=sum;
                }
            }

            //记录数组中的最小的元素
            if(p_min>nums[i]){
                p_min=nums[i];
            }
            if(nums[i]<0){
                flag=-1; //如果flag==-1 ,也就是说明其中有一个元素是负数
            }
        }

        if(flag==-1){
            return min;  //这是存在有负数的情况
        }
        else{
            return p_min;  //这是所有元素都为整数的情况
        }
        //return min< p_min ? min:p_min;

    }
};

相关文章

  • OJ lintcode 最小子数组

    给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。注意事项子数组最少包含一个数字您在真实的面试中是否遇到...

  • OJ lintcode 最大子数组

    给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。注意事项子数组最少包含一个数您在真实的面试中是否遇到过...

  • OJ lintcode 奇偶分割数组

    分割一个整数数组,使得奇数在前偶数在后。您在真实的面试中是否遇到过这个题?Yes样例给定 [1, 2, 3, 4]...

  • lintcode 最小子数组

    给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。样例给出数组[1, -1, -2, 1],返回 -3解...

  • OJ lintcode 两数组的交

    返回两个数组的交您在真实的面试中是否遇到过这个题?Yes样例nums1 = [1, 2, 2, 1], nums2...

  • LintCode - 最小子数组(容易)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 难度:容易 要求: 给定一个整数数组,找到一个具有最小和的子...

  • OJ lintcode 合并排序数组

    合并两个排序的整数数组A和B变成一个新的数组。您在真实的面试中是否遇到过这个题?Yes样例给出A=[1,2,3,4...

  • OJ lintcode 两数组的交 II

    计算两个数组的交注意事项每个元素出现次数得和在数组里一样答案可以以任意顺序给出您在真实的面试中是否遇到过这个题?Y...

  • OJ lintcode 恢复旋转排序数组

    给定一个旋转排序数组,在原地恢复其排序。您在真实的面试中是否遇到过这个题?Yes说明什么是旋转数组?比如,原始数组...

  • OJ lintcode 合并排序数组 II

    合并两个排序的整数数组A和B变成一个新的数组。注意事项你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去...

网友评论

    本文标题:OJ lintcode 最小子数组

    本文链接:https://www.haomeiwen.com/subject/oqwjwttx.html