leetcode 575.分糖果

思路:开两个数组,一个用来存储非负数的糖果个数,一个用来存储负数的糖果个数,这两个数组都是状态数组,而不是计数数组

如果当前能够吃的种类大于现有的种类,现有的种类个数就是答案;

如果当前能够吃的种类小于等于现有的种类,则只能限制在能够吃的种类个数。

上代码:

复制代码
class Solution {
public:
    int distributeCandies(vector<int>& candyType) {
        int n=candyType.size();
        vector<bool>st1(100010,false);
        vector<bool>st2(100010,false);
        int chi=n/2;
        int target=0;
        for(int i=0;i<n;i++){
            if(candyType[i]<0){
                st2[abs(candyType[i])]=true;
            }
            else{
                st1[candyType[i]]=true;
            }
        }
        for(int i=0;i<100010;i++){
            if(st1[i])
            target++;
            if(st2[i])
            target++;
        }
        if(chi>=target)
        return target;
        else
        return chi;
    }
};
相关推荐
阿明66 分钟前
Leetcode: 283. 移动零
算法·leetcode·职场和发展
葫三生21 分钟前
三生原理与《涌现:从简单规则到复杂世界》在“简单规则生成复杂系统”核心思路上存在理论呼应?
人工智能·科技·算法·机器学习·开源
6Hzlia22 分钟前
【Classic 150 刷题计划】 LeetCode 134. 加油站 | C++ 贪心算法与局部否决逻辑
c++·leetcode·贪心算法
6Hzlia37 分钟前
【Classic 150 刷题计划】 LeetCode 274. H 指数 | C++ 二分答案法 (单调性降维打击)
c++·算法·leetcode
行者全栈架构师43 分钟前
WorkBuddy 实战:50 份简历 30 分钟筛完,还能自动出评估报告
人工智能·算法·微信
ysu_03141 小时前
19-插入排序与希尔排序
数据结构·算法·排序算法
qq_508576091 小时前
人性机器人部分 算法
算法·机器人
Polevne1 小时前
C# GRPC 一元与双向流
linux·算法·c#
huang5791471 小时前
复杂网络中的最短路径搜索算法性能分析3
算法
找方案2 小时前
AI+气象预报:华为盘古大模型如何让天气预报精准到街区
人工智能·算法·机器学习