【LeetCode:1103. 分糖果 II + 模拟】

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 模拟
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 1103. 分糖果 II

⛲ 题目描述

排排坐,分糖果。

我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。

给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。

然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。

重复上述过程(每次都比上一次多给出一颗糖果,当到达队伍终点后再次从队伍起点开始),直到我们分完所有的糖果。注意,就算我们手中的剩下糖果数不够(不比前一次发出的糖果多),这些糖果也会全部发给当前的小朋友。

返回一个长度为 num_people、元素之和为 candies 的数组,以表示糖果的最终分发情况(即 ans[i] 表示第 i 个小朋友分到的糖果数)。

示例 1:

输入:candies = 7, num_people = 4
输出:[1,2,3,1]
解释:
第一次,ans[0] += 1,数组变为 [1,0,0,0]。
第二次,ans[1] += 2,数组变为 [1,2,0,0]。
第三次,ans[2] += 3,数组变为 [1,2,3,0]。
第四次,ans[3] += 1(因为此时只剩下 1 颗糖果),最终数组变为 [1,2,3,1]。
示例 2:

输入:candies = 10, num_people = 3
输出:[5,2,3]
解释:
第一次,ans[0] += 1,数组变为 [1,0,0]。
第二次,ans[1] += 2,数组变为 [1,2,0]。
第三次,ans[2] += 3,数组变为 [1,2,3]。
第四次,ans[0] += 4,最终数组变为 [5,2,3]。

提示:

1 <= candies <= 10^9
1 <= num_people <= 1000

🌟 求解思路&实现代码&运行结果


⚡ 模拟

🥦 求解思路
  1. 该题目是一道简单的模拟题,通过一个循环来模拟发糖果的过程。
  2. 有了基本的思路,接下来我们就来通过代码来实现一下。
🥦 实现代码
class Solution {public int[] distributeCandies(int candies, int num_people) {int[] ans = new int[num_people];int cnt = 1;int i = 0;while (candies > 0) {if (candies >= cnt) {candies -= cnt;ans[i % num_people] += cnt;} else {ans[i % num_people] += candies;break;}cnt++;i++;}return ans;}
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/5245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

山东专升本计算机基础 --- Windows 10 操作系统安全

文章目录 Windows 10 操作系统安全1、Windows 10 系统安装的安全2、系统帐户安全3、应用安全策略4、网络安全策略 Windows 10 操作系统安全 1、Windows 10 系统安装的安全 操作系统的安全和安装操作系统的选项密切相关。 选择 NTFS 文件格式分区组件的定制安装 Windows 10 …

LiveCD镜像文件的定制化

最近想要定制化一款属于自己的LiveCD镜像文件&#xff0c;并且里边封装好所需要的软件程序&#xff0c;本文将会记录具体的操作步骤&#xff0c;供有需要的人参考借鉴。 环境说明&#xff1a; 环境配置说明配置参数编码环境Centos7.9LiveCD文件CentOS-7-livecd-x86_64.iso 附…

西门子PCU50.3数控面板维修6FC5220-0AA31-2AA0

西门子数控面板维修&#xff0c;西门子工控机触摸屏维修6FC5247-0AA00-0AA3 西门子数控机床维修包括&#xff1a;840C/CE、840Di/DSL、840Di SL、802C S、802D SL、810D/DE、820D SL、S120数控电路板、数控伺服驱动模块、控制模块修、电源模块&#xff0c;西门子数控机床控制面…

Redis缓存介绍以及常见缓存问题:穿透、雪崩和击穿

概念 缓存就是数据交换的缓冲区&#xff08;Cache&#xff09;&#xff0c;是存贮数据的临时地方&#xff0c;一般读写性能较高。 作用&#xff1a; 降低后端负载 提高读写效率&#xff0c;降低相应时间 成本&#xff1a; 数据一致性成本 代码维护成本 运维成本 缓存更…

ICSE 2024 PaperList1

1. 勒索软件攻击造成的数据破坏的实证研究 An Empirical Study of Data Disruption by Ransomware Attacks 近年来&#xff0c;勒索软件对软件生态系统的威胁日益令人担忧&#xff0c;这就提出了对大规模、全面的勒索软件分析的需求&#xff0c;以帮助针对未知攻击制定更有效…

如何使用dlib库进行目标跟踪

dlib 库本身并不直接提供目标跟踪的功能。目标跟踪是计算机视觉领域的一个独立任务,通常涉及对视频序列中的特定目标(如人脸、车辆、行人等)进行持续的识别和定位。然而,dlib 库中的某些组件(如人脸检测器、HOG特征提取器等)可以被用作构建目标跟踪系统的基础。 要在dli…

QT爱发函,介绍一下平替QT的八大桌面开发框架。

Qt是一款跨平台的C应用程序开发框架&#xff0c;它提供了丰富的库和工具&#xff0c;可以用于开发图形用户界面、嵌入式系统、移动应用等。Qt拥有商业版和开源版两种许可证&#xff0c;商业版需要支付授权费用&#xff0c;而开源版则可以免费使用。 对于替代Qt的框架&#xff0…

前端如何将接口传来的列表数据(数组)直接下载成csv文件

前言&#xff1a;最近遇到一个需求&#xff0c;需要实现一个下载表格数据的操作&#xff0c;一般来说是前端请求后端的下载接口&#xff0c;将文件流下载下来&#xff0c;但是因为这个项目任务时间比较紧&#xff0c;后端没时间做下载接口&#xff0c;所以暂时由前端直接调列表…

新手开通抖音小店的时候,必须要注意的6点!建议收藏!

大家好&#xff0c;我是电商小V 今天咱们就来详细的说一下开通抖音小店的时候需要注意的事项&#xff0c;避免咱们在开店的时候踩坑导致店铺后期的正常运营&#xff0c; 第一点&#xff1a;是关于营业执照的问题 营业执照咱们都知道&#xff0c;分为个体和企业的&#xff0c;咱…

区块链详解

1. 概述 1.1 什么是区块链&#xff1f; 区块链是一种分布式数据库技术&#xff0c;它以链式数据结构的形式存储数据&#xff0c;每个数据块与前一个数据块相关联&#xff0c;形成了一个不断增长的数据链。每个数据块中包含了一定数量的交易信息或其他数据&#xff0c;这些数据…

Servlet、Tomcat、Control区别

1. Servlet Servlet 是一种动态网站开发技术&#xff0c;专门用来处理客户端的请求并生成响应。Servlet直接与Tomcat交互&#xff0c;处理从Tomcat传来的请求。然后生成网页或其他类型的响应发送回Tomcat&#xff0c;Tomcat再将这些响应返回给用户的浏览器。 2. TomCat tomc…

【数据结构】三、栈和队列:2.顺序栈共享栈(顺序栈的初始化,判空,进栈,出栈,读取栈顶,顺序栈实例)

文章目录 1.顺序栈1.1初始化1.2判空1.3进栈1.4出栈1.5读取栈顶1.6销毁栈❗1.7顺序栈c实例 2.共享栈2.1初始化2.2判满 1.顺序栈 用顺序存储实现的栈 顺序栈的缺点&#xff1a;栈的大小不可变。 #define MaxSize 10 //定义栈中元素的最大个数 typedef struct{ElemType data[…

28377d升级

dsp 28377在线升级 实例总结_f021_cpu0_w1_register_address-CSDN博客

leetcode1143. 最长公共子序列(ACM模式解法)

题目描述 给你一个序列X和另一个序列Z&#xff0c;当Z中的所有元素都在X中存在&#xff0c;并且在X中的下标顺序是严格递增的&#xff0c;那么就把Z叫做X的子序列。 例如&#xff1a;Z是序列X的一个子序列&#xff0c;Z中的元素在X中的下标序列为<1,2,4,6>。 现给你两个…

指纹浏览器:网络安全与隐私的新工具

在互联网时代&#xff0c;隐私和网络安全成为人们越来越关注的话题。随着数字化的发展&#xff0c;个人信息的泄露和在线追踪的问题愈发严峻。在这个背景下&#xff0c;"指纹浏览器"作为一种新型工具&#xff0c;开始受到关注。撸空投需要了解指纹浏览器。本文将深入…

动态规划与搜索算法

动态规划&#xff08;Dynamic Programming, DP&#xff09; 动态规划是一种解决优化问题的算法设计技术&#xff0c;主要用于求解具有重叠子问题和最优子结构特性的最优化问题。在动态规划中&#xff0c;我们会将复杂问题分解为多个子问题&#xff0c;并计算子问题的解&#x…

软考-信息系统项目管理师-论文技术架构模板(60天备考第26天)

分享一段信息系统项目管理师论文项目技术架构描述的万能模板&#xff0c;供大家参考。距离考试还有二十八天&#xff0c;如果论文写不好的可以加微进论文指导群学习论文写作。 该系统前端基于Vue开发&#xff0c;后端基于java开发&#xff0c;前后端分离部署。整体采用B/S架构&…

你缺的是一个机会吗?

大家好&#xff0c;我是记得诚。 前两天面试了一个&#xff0c;差不多有5-6年的硬件开发经验&#xff0c;没有达到我的要求&#xff0c;给否掉了。 大公司里面&#xff0c;分工很细&#xff0c;原理图一个人&#xff0c;甚至系统大的产品&#xff0c;原理图由几个人共同完成&…

【收藏全开源】JAVA共享自习室共享学习室无人系统支持微信小程序+微信公众号+H5_博纳软云

JAVA打造无人自习室新纪元&#xff1a;微信小程序、公众号与H5三合一共享学习空间 在信息化时代的浪潮下&#xff0c;学习方式正经历着前所未有的变革。JAVA技术以其强大的跨平台性和稳定性&#xff0c;引领着共享自习室领域迈向新的高度。我们推出的无人自习室共享学习室系统…

Spring Boot 统一数据返回格式:优化前后端开发协作的利器

在开发基于Spring Boot的Web应用程序时&#xff0c;统一的数据返回格式是非常重要的。 它可以使得前后端的交互更加规范和统一&#xff0c;降低前后端开发人员的沟通成本&#xff0c;提高开发效率。 本文将分析Spring Boot中统一数据返回格式的必要性&#xff0c;以及如何实现…