美文网首页
【算法题】2591. 将钱分给最多的儿童

【算法题】2591. 将钱分给最多的儿童

作者: 程序员小2 | 来源:发表于2023-06-08 21:39 被阅读0次

题目:

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

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

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

示例 1:

输入:money = 20, children = 3
输出:1
解释:
最多获得 8 美元的儿童数为 1 。一种分配方案为:

  • 给第一个儿童分配 8 美元。
  • 给第二个儿童分配 9 美元。
  • 给第三个儿童分配 3 美元。
    没有分配方案能让获得 8 美元的儿童数超过 1 。
    示例 2:

输入:money = 16, children = 2
输出:2
解释:每个儿童都可以获得 8 美元。

提示:

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

java代码:


class Solution {
    public int distMoney(int money, int children) {
        money -= children; // 每人至少 1 美元
        if (money < 0) return -1;
        int ans = Math.min(money / 7, children); // 初步分配,让尽量多的人分到 8 美元
        money -= ans * 7;
        children -= ans;
        if (children == 0 && money > 0 || // 必须找一个前面分了 8 美元的人,分完剩余的钱
            children == 1 && money == 3) // 不能有人恰好分到 4 美元
            --ans;
        return ans;
    }
}

相关文章

  • 《小狗钱钱2》读书笔记

    这本书我给3.5分。3分给较为优秀的儿童读物,1分给最后总结的养成优秀品格的7条准则,扣0.5分给不如《小狗钱钱1...

  • 钱分给谁

    成功的秘诀只有一条: 你把钱分给谁赚,谁就希望你成功! 其它都是这句话的注解,大到国家、中到企业、小到个人! 一一...

  • 数据结构与算法-链表相关题

    数据结构预算法题 正确的解算法题,前提是要正确审题,找出关键词! 题⽬1 : 将2个递增的有序链表合并为⼀个链表的...

  • 一起来读西瓜书:第九章 聚类

    1. 章节主要内容 “聚类”(clustering)算法是“无监督学习”算法中研究最多、应用最广的算法,它试图将数...

  • 时光分割

    将时光割成碎片 分给梦想 分给幻想 分给冥想 分给猜想 分给妄想 …… 最终疲惫地弄丢了 本该分给理想的那一份 山...

  • 算法题--百钱白鸡

    古代数学家 张丘建 算经 百钱百鸡题目:公鸡5钱一只 母鸡3钱一只 小鸡1钱三只 现在需要用百钱买百鸡100 ...

  • 一切都始于一个涟漪,轻创客思维模式资讯连载(31)

    赚钱的秘密,就在于分钱。 如果你能把钱分给经销商,分给渠道商,分给广告商,分给合作伙伴,分给公司骨干,分给员工,提...

  • ARTS-W02 (12.27 - 1.02)

    Algorithm(一道算法题) 这周刷到的算法题:鸡蛋掉落具体描述如下:你将获得 K 个鸡蛋,并可以使用一栋从 ...

  • Android面经| 算法题解

    整理了校招面试算法题,部分《剑指offer》算法题,以及LeetCode算法题,本博文中算法题均使用Java实现校...

  • 508、出现次数最多的子树元素和 | 算法(leetcode,附

    零 标题:算法(leetcode,附思维导图 + 全部解法)300题之(508)出现次数最多的子树元素和 一 题目...

网友评论

      本文标题:【算法题】2591. 将钱分给最多的儿童

      本文链接:https://www.haomeiwen.com/subject/samaedtx.html