LeetCode 1103[分糖果II]
1.LeetCode1480[一维数组的动态和]2.LeetCode1342[将数字变成0的操作次数]3.LeetCode1672[最富有客户的资产总量]4.LeetCode412[Fizz Buzz]5.LeetCode9[回文数]6.LeetCode3264[K次乘运算后的最终数组I]7.LeetCode3270[求出数字答案]8.LeetCode LCR135[报数]9.LeetCode 1137[第N个泰波那契数]10.LeetCode 2535[数组元素和与数字和的绝对差值]11.LeetCode 2544[交替数字和]12.LeetCode 171[Excel表列序号]13.LeetCode 3014[输入单词需要的最少按键次数I]14.LeetCode 面试题16.07[最大数值]15.LeetCode 13[罗马数字转整数]16.LeetCode 836[矩形重叠]17.LeetCode 69[x的平方根]
18.LeetCode 1103[分糖果II]
19.LeetCode 2235[两整数相加]20.LeetCode 2769[找出最大的可达成数字]21.LeetCode 1290[二进制链表转整数]22.LeetCode 2455[可被三整除的偶数平均值]23.LeetCode 492[构造矩形]24.LeetCode 1812[判断国际象棋棋盘中一个格子的颜色]25.LeetCode 1837[K进制表示下的各位数字总和]26.LeetCode 367[有效的完全平方数]27.LeetCode LCP17[速算机器人]28.LeetCode 2413[最小偶倍数]29.LeetCode 66[加一]30.LeetCode 509[斐波那契数]31.LeetCode LCR126[斐波那契数]32.LeetCode LCR072[x的平方根]33.LeetCode 263[丑数]34.LeetCode 762[二进制表示中质数个计算置位]题目
链接
详情
实例
提示
题解
思路
定义容器vecRet,使每个元素值均为0,即代表每个孩子手上开始都是0个糖果
定义iCount为默认的糖果数量,初始值为1
逐个遍历容器,也就是开始给每个孩子分糖果 获取容器当前元素值,即每个孩子当前的糖果数量iAt
如果糖果数量candies不小于每个孩子默认要分发的糖果数量iCount,则该孩子分到的糖果数量为默认数量,即iCount
此时孩子手上的糖果数量为iAt + iCount
剩余糖果数量为:candies - iCount
下一个孩子需要分发的默认糖果数量为:iCount++
继续遍历,如果遍历到最后一个孩子时,手上还有剩余糖果,则又开始从第一个孩子开始遍历
直到糖果数量candies小于该孩子默认要分发的糖果数量iCount,则把剩余的糖果全部分发给孩子,即分发后孩子的糖果数量为:iAt + candies,此时,剩余糖果数量为0,则退出循环
代码
class Solution {
public:
vector<int> distributeCandies(int candies, int num_people) {
vector<int> vecRet;//定义容器
for (int i = 0; i < num_people; i++)//初始化容器初值为0
vecRet.push_back(0);
int iCount = 1;//默认分发糖果数量
for (int i = 0; i < num_people; i++)//遍历开始分糖果
{
int iAt = vecRet.at(i);//取当前元素的糖果数量
if (candies < iCount)//不够分
{
iAt += candies;//全部分掉
vecRet.at(i) = iAt;
break;//结束
}
iAt += iCount;//分发默认数量的糖果
vecRet.at(i) = iAt;
if (num_people - 1 == i)//最后一个元素,赋值-1,然后循环+1变成0,即变成初始元素
i = -1;
candies -= iCount;//剩余糖果数量=当前糖果数量-默认分发的糖果数量
iCount++;//默认分发糖果数量+1
}
return vecRet;
}
};
本文来自博客园,作者:EricsT,转载请注明原文链接:https://www.cnblogs.com/EricsT/p/18545459
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
· 易语言 —— 开山篇