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;
    }
};
相关推荐
ん贤7 小时前
加密算法(对称、非对称、哈希、签名...)
算法·哈希算法
superior tigre7 小时前
78 子集
算法·leetcode·深度优先·回溯
天威?*7 小时前
bitset的数据结构用法
算法·动态规划
hoiii1878 小时前
粒子滤波跟踪系统 - 蒙特卡洛方法实现
算法
weisian1518 小时前
Java并发编程--47-分布式ID生成器:雪花算法(Snowflake)与时钟回拨问题
java·算法·时钟回拨·雪花算法id
itzixiao8 小时前
L1-066 猫是液体(5分)[java][python]
java·开发语言·python·算法
ytttr8738 小时前
MATLAB SIFT图像配准实现
算法·机器学习·matlab
小饕9 小时前
从 Word2Vec 到多模态:词嵌入技术的演进全景
人工智能·算法·机器学习
海参崴-9 小时前
AVL树完整实现与深度解析
算法
一个爱编程的人9 小时前
一个数是不是素数
数据结构·算法