当前位置:首页 > 编程笔记 > 正文
已解决

2023-09-22 LeetCode每日一题(将钱分给最多的儿童)

来自网友在路上 169869提问 提问时间:2023-09-23 02:52:35阅读次数: 69

最佳答案 问答题库698位专家为你答疑解惑

2023-09-22每日一题

一、题目编号

2591. 将钱分给最多的儿童

二、题目链接

点击跳转到题目位置

三、题目描述

给你一个整数 money ,表示你总共有的钱数(单位为美元)和另一个整数 children ,表示你要将钱分配给多少个儿童。

你需要按照如下规则分配:

  • 所有的钱都必须被分配。
  • 每个儿童至少获得 1 美元。
  • 没有人获得 4 美元。
    请你按照上述规则分配金钱,并返回 最多 有多少个儿童获得 恰好 8 美元。如果没有任何分配方案,返回 -1 。

示例 1:
在这里插入图片描述

示例 2:
在这里插入图片描述
提示:

  • 1 <= money <= 200
  • 2 <= children <= 30

四、解题代码

class Solution {
public:int distMoney(int money, int children) {if (money < children) {return -1;}money -= children;int cnt = min(money / 7, children);money -= cnt * 7;children -= cnt;if ((children == 0 && money > 0) || (children == 1 && money == 3)) {cnt--;}return cnt;}
};

五、解题思路

(1) 贪心

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"2023-09-22 LeetCode每日一题(将钱分给最多的儿童)":http://eshow365.cn/6-11823-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!