浅谈 拥有最多糖果的孩子 问题

拥有最多糖果的孩子

给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。
对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。
注意,允许有多个孩子同时拥有最多的糖果数目。

思路:
求出数组最大数,找出数组中比最大数减去 extraCandies 还小的数并赋值为 false

class Solution {
    
    
public:
    const vector<bool> kidsWithCandies(const vector<int>& candies, const int extraCandies) {
    
    
        const auto len = candies.size();
        vector<bool> vec;
        const auto maxd = max(candies);
        const auto d = maxd - extraCandies;
        for(auto i = 0; i < len; ++i) 
        vec.push_back(candies[i] >= d);
        return vec;
    }

    const int max(const vector<int>& nums){
    
    
        auto Max = 0;
        for(auto c : nums)
            if(c > Max) Max = c;
        return Max;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_48033173/article/details/112183206