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;
    }
};
相关推荐
8Qi811 分钟前
LeetCode 1049:最后一块石头的重量 II —— 题解 ✅
算法·leetcode·职场和发展·动态规划·01背包
wubba lubba dub dub75026 分钟前
第四十九周学习周报
人工智能·算法·机器学习
Java_2017_csdn1 小时前
ComplexKeysShardingAlgorithm 小结
java·大数据·算法
海梨花1 小时前
快手面试高频算法题
java·算法·面试
lqqjuly1 小时前
超分辨率算法深度解析(Super-Resolution Algorithms)
算法
嵌入式老牛3 小时前
液晶段码(米/日字格)识别—倾斜校正
opencv·算法·仿射变换
luj_17683 小时前
残熵算法:风险缓冲与效率优化的融合
c语言·开发语言·网络·经验分享·算法
oddsand13 小时前
pgvector 三大相似度算法
人工智能·算法·机器学习
运筹vivo@3 小时前
LeetCode 2574. 左右元素和的差值
算法·leetcode·职场和发展·每日一题
计算机安禾4 小时前
【数据库系统原理】第4篇:关系数据结构的形式化定义:域、笛卡尔积与关系模式
数据结构·数据库·算法