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;
    }
};
相关推荐
流云鹤6 分钟前
2026牛客寒假算法基础集训营4(A B C I H F G)
算法
每天要多喝水9 分钟前
动态规划Day31:子序列长度1
算法·动态规划
lxl130717 分钟前
C++算法(3)二分算法
数据结构·c++·算法
随意起个昵称17 分钟前
Dijstra算法学习笔记
笔记·学习·算法
lifallen30 分钟前
笛卡尔树 (Cartesian Tree)
java·数据结构·算法
ab15151732 分钟前
2.15完成105、106、110
数据结构·算法
Clarence Liu34 分钟前
用大白话讲解人工智能(5) SVM支持向量机:找一条“最宽的分隔线“
人工智能·算法·支持向量机
不想看见40444 分钟前
N-Queens -- 回溯法 -- 力扣101算法题解笔记
java·数据结构·算法
xuxianliang1 小时前
第152章 纲领的统一(悦儿)
算法·程序员创富
XLYcmy1 小时前
智能体大赛 技术架构 核心驱动层
人工智能·算法·机器学习·llm·prompt·agent·qwen