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;
    }
};
相关推荐
he___H5 小时前
子串----
java·数据结构·算法·leetcode
05候补工程师6 小时前
【ROS 2 避坑指南】从 SLAM 实时建图到 Nav2 导航算法深度调优全过程
算法·ubuntu·机器人
Dlrb12117 小时前
C语言-函数传参
c语言·数据结构·算法
洛水水14 小时前
【力扣100题】18.随机链表的复制
算法·leetcode·链表
南宫萧幕14 小时前
规则基 EMS 仿真实战:SOC 区间划分与 Simulink 闭环建模全解
算法·matlab·控制
多加点辣也没关系14 小时前
数据结构与算法|第二十三章:高级数据结构
数据结构·算法
hoiii18716 小时前
孤立森林 (Isolation Forest) 快速异常检测系统
算法
c++之路18 小时前
适配器模式(Adapter Pattern)
java·算法·适配器模式
吴声子夜歌18 小时前
Java——接口的细节
java·开发语言·算法
myheartgo-on18 小时前
Java—方 法
java·开发语言·算法·青少年编程