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;
    }
};
相关推荐
CoderCodingNo1 分钟前
【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习)
算法
Mr_pyx17 分钟前
【LeetHOT100】合并两个有序链表——Java多解法详解
算法
踩坑记录25 分钟前
leetcode hot100 347. 前 K 个高频元素 medium 桶排序
leetcode
yu859395829 分钟前
利用MATLAB进行木材图像去噪
开发语言·算法·matlab
cpp_250142 分钟前
P2722 [USACO3.1] 总分 Score Inflation
数据结构·c++·算法·动态规划·题解·洛谷·背包dp
民乐团扒谱机1 小时前
【源码剖析】MATLAB混响函数底层逻辑拆解:Dattorro算法从公式到音频帧的完整推导
算法
淡海水1 小时前
【AI模型】概念-Token
人工智能·算法
凯瑟琳.奥古斯特1 小时前
数据结构核心知识点精要
数据结构·算法·排序算法
隔壁大炮1 小时前
Day02-04.张量点乘和矩阵乘法
人工智能·pytorch·深度学习·线性代数·算法·矩阵
王老师青少年编程1 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【删数问题】:删数问题
c++·算法·贪心·csp·信奥赛