LeetCode解法汇总2591. 将钱分给最多的儿童

2023-09-22 11:24:44

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台


描述:

给你一个整数 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

解题思路:

* 解题思路:

* 首先做判断,如果money<children或者money=4并且children=1时,一定无法分配。

* 然后分为三种场景,如果money > 8 * children,则结果为children-1,每个孩子分配8个,最后一个孩子分配剩余所有(>8);

* 如果恰好为8,8,4的结构,则结果为children-2;

* 否则每个人分配一个后,除以7就是期望的结果。

代码:

class Solution2591
{
public:
    int distMoney(int money, int children)
    {
        if (money < children)
        {
            return -1;
        }
        if (money == 4 && children == 1)
        {
            return -1;
        }
        if (money > 8 * children)
        {
            return children - 1;
        }
        if ((8 * children - 4) == money)
        {
            return children - 2;
        }
        return (money - children) / 7;
    }
};

更多推荐

【自学开发之旅】Flask-restful-Jinjia页面编写template-回顾(五)

restful是web编程里重要的概念–一种接口规范也是一种接口设计风格设计接口:要考虑:数据返回、接收数据的方式、url、方法统一风格rest–表现层状态转移web–每一类数据–资源资源通过http的动作来实现状态转移GET、PUT、POST、DELETEpath组成:/{version}/{resources}/{

分布式运用之企业级日志ELFK+logstash的过滤模块

一、ELFK集群部署(Filebeat+ELK)在搭建ELK的基础上安装Filebeat服务,Filebeat服务可以布置在以下任意一台主机,本次实验将布置在apache服务器的节点上步骤一:安装Filebeat(在apache节点操作)#上传软件包filebeat-6.7.2-linux-x86_64.tar.gz到

面向对象进阶

文章目录面向对象进阶一.static1.静态变量2.静态方法3.static的注意事项二.继承1.概述2.特点3.子类可以继承父类中的内容4.继承中成员变量的访问特点5.继承中成员方法的访问特点6.继承中构造方法的访问特点7.this和super使用总结三.多态1.认识多态2.多态中调用成员的特点3.多态的优势和弊端四

Bigemap如何添加谷歌历史影像

工具Bigemapgisoffice地图软件BIGEMAPGISOffice-全能版BigemapAPP_卫星地图APP_高清卫星地图APP很多粉丝私信都在问怎么才可以看到谷歌的历史影像,其实这个图源目前是没有对大陆网络ip进行开放,所以如果需要查看,也是需要看你当前的网络是否允许查看,如果可以查看的话,就可以通过bi

AI也需要透明度?是的,需要

文章目录什么是AI透明度为什么需要AI透明度AI透明度的弱点如何做好AI透明度推荐阅读什么是AI透明度AI透明度指的是人工智能(AI)系统的工作原理和决策过程能够被理解、解释和追踪的程度。它包括以下几个方面:可解释性(Explainability)追踪性(Traceability)公平性和偏见检测(Fairnessan

【校招VIP】测试方案之测试需求分析

考点介绍:需求分析就是要弄清楚用户需要的是什么功能,用户会怎样使用系统。这样我们测试的时候才能更加清楚的知道系统该怎么样运行,才能更好的设计测试用例,才能更好的测试。测试方案之测试需求分析-相关题目及解析内容可点击文章末尾链接查看!一、考点试题1.有ABC三个员工,每个员工都有一个任务;任务类型有普通型和困难型;三个员

前端VUE---JS实现数据的模糊搜索

实现背景因为后端实现人员列表返回,每次返回的数据量在100以内,要求前端自己进行模糊搜索页面实现因为是实时更新数据的,就不需要搜索和重置按钮了代码HTML<el-dialogtitle="团队人员详情":visible.sync="centerDialogVisible"width="30%"center:close-

【从0学习Solidity】7. 映射类型 mapping

【从0学习Solidity】7.映射类型mapping博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开发,期待与您一起在移动开发的世界中,不断进步和创造!本文收录于不写代码没饭吃的学习汇报系列

穿越两大空间的调用栈

人是有经历的,软件也如此。简历记录着一个人的经历,而调用栈(callstack)则记录着软件的经历。看一个人的简历可以快速了解一个人。观察调用栈,则可以快速理解软件。因为此,我非常喜欢看软件的调用栈。每当看到一个漂亮的调用栈,我常常如获至宝,端详许久。因为对调试技术的热爱,这些年,我花了很多时间在调试器上。特别是开发了

基于movie lens-100k数据集的协同过滤算法实现

基于movielens-100k数据集的协同过滤算法实现数据集处理基于用户的协同过滤算法的实现基于物品的协同过滤算法的实现数据集处理importpandasaspdu_data=pd.read_csv('D:/PyCharmWorkSpace/ml-100k/ml-100k/u.data')u_genre=pd.rea

使用qt完善对话框功能

1、完善登录框点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两个按钮ok和cancel,点击ok后,会清除密码框中的内容,继续进行登录;如果点击cancel按钮,则关闭界面。如果账号和密码匹配,则弹出信息对话框,给出提

热文推荐