LeetCode 2305. 公平分发饼干(DFS)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

给你一个整数数组 cookies ,其中 cookies[i] 表示在第 i 个零食包中的饼干数量。
另给你一个整数 k 表示等待分发零食包的孩子数量,所有 零食包都需要分发。
在同一个零食包中的所有饼干都必须分发给同一个孩子,不能分开。

分发的 不公平程度 定义为单个孩子在分发过程中能够获得饼干的最大总数

返回所有分发的最小不公平程度。

示例 1:
输入:cookies = [8,15,10,20,8], k = 2
输出:31
解释:一种最优方案是 [8,15,8][10,20]-1 个孩子分到 [8,15,8] ,总计 8 + 15 + 8 = 31 块饼干。
-2 个孩子分到 [10,20] ,总计 10 + 20 = 30 块饼干。
分发的不公平程度为 max(31,30) = 31 。
可以证明不存在不公平程度小于 31 的分发方案。示例 2:
输入:cookies = [6,1,3,2,2,4,1,2], k = 3
输出:7
解释:一种最优方案是 [6,1][3,2,2][4,1,2]-1 个孩子分到 [6,1] ,总计 6 + 1 = 7 块饼干。 
-2 个孩子分到 [3,2,2] ,总计 3 + 2 + 2 = 7 块饼干。
-3 个孩子分到 [4,1,2] ,总计 4 + 1 + 2 = 7 块饼干。
分发的不公平程度为 max(7,7,7) = 7 。
可以证明不存在不公平程度小于 7 的分发方案。提示:
2 <= cookies.length <= 8
1 <= cookies[i] <= 10^5
2 <= k <= cookies.length

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/fair-distribution-of-cookies
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 数据规模很小,深度优先暴力搜索
class Solution {int ans = INT_MAX;
public:int distributeCookies(vector<int>& cookies, int k) {vector<int> num(k, 0);dfs(cookies, num, k, 0);return ans;}void dfs(vector<int>& cookies, vector<int>& num, int k, int i){if(i == cookies.size()){ans = min(ans, *max_element(num.begin(), num.end()));return;}for(int j = 0; j < k; ++j){num[j] += cookies[i];dfs(cookies, num, k, i+1);num[j] -= cookies[i];}}
};

736 ms 6.7 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

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

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

相关文章

三、Web服务器——HTTP协议 Response对象 ServletContext对象 学习笔记

今日内容 1. HTTP协议&#xff1a;响应消息 2. Response对象 3. ServletContext对象HTTP协议&#xff1a; 1. 请求消息&#xff1a;客户端发送给服务器端的数据* 数据格式&#xff1a;1. 请求行2. 请求头3. 请求空行4. 请求体 2. 响应消息&#xff1a;服务器端发送给客户端的…

LeetCode 2309. 兼具大小写的最好英文字母

文章目录1. 题目2. 解题1. 题目 给你一个由英文字母组成的字符串 s &#xff0c;请你找出并返回 s 中的 最好 英文字母。 返回的字母必须为大写形式。如果不存在满足条件的字母&#xff0c;则返回一个空字符串。 最好 英文字母的大写和小写形式必须 都 在 s 中出现。 英文字…

Java——标签组件:JLabel

使用一个标签 import java.awt.Color; import java.awt.Dimension; import java.awt.Point;import javax.swing.JFrame; import javax.swing.JLabel;// // File Name : JFrame_demo //------------------------------------------------------------------------------ /…

四、Web服务器——Session Cookie JSP入门 学习笔记

今日内容 1. 会话技术1. Cookie2. Session 2. JSP&#xff1a;入门学习会话技术 1. 会话&#xff1a;一次会话中包含多次请求和响应。* 一次会话&#xff1a;浏览器第一次给服务器资源发送请求&#xff0c;会话建立&#xff0c;直到有一方断开为止 2. 功能&#xff1a;在一次…

LeetCode 2310. 个位数字为 K 的整数之和(枚举)

文章目录1. 题目2. 解题1. 题目 给你两个整数 num 和 k &#xff0c;考虑具有以下属性的正整数多重集&#xff1a; 每个整数个位数字都是 k 。所有整数之和是 num 。 返回该多重集的最小大小&#xff0c;如果不存在这样的多重集&#xff0c;返回 -1 。 注意&#xff1a; 多…

五、Web服务器——MVC开发模式 EL表达式 JSTL 学习笔记

今日内容 1. JSP:1. 指令2. 注释3. 内置对象2. MVC开发模式 3. EL表达式 4. JSTL标签 5. 三层架构JSP: 1. 指令* 作用&#xff1a;用于配置JSP页面&#xff0c;导入资源文件* 格式&#xff1a;<% 指令名称 属性名1属性值1 属性名2属性值2 ... %>* 分类&#xff1a;1. p…

六、Web服务器——FilterListener 学习笔记

今日内容 1. Filter&#xff1a;过滤器 2. Listener&#xff1a;监听器Filter&#xff1a;过滤器 1. 概念&#xff1a;* 生活中的过滤器&#xff1a;净水器,空气净化器&#xff0c;土匪、* web中的过滤器&#xff1a;当访问服务器的资源时&#xff0c;过滤器可以将请求拦截下来…

七、Web服务器——Junit单元测试 反射 注解学习笔记

今日内容 1. Junit单元测试 2. 反射 3. 注解Junit单元测试&#xff1a; * 测试分类&#xff1a;1. 黑盒测试&#xff1a;不需要写代码&#xff0c;给输入值&#xff0c;看程序是否能够输出期望的值。2. 白盒测试&#xff1a;需要写代码的。关注程序具体的执行流程。* Junit使…

第一个React Web应用程序

learn from 《React全家桶&#xff1a;前端开发与实例详解》 https://zh-hans.reactjs.org/tutorial/tutorial.html https://zh-hans.reactjs.org/docs/create-a-new-react-app.html#create-react-app 安装 Node.js安装 npm install -g live-server&#xff0c;配置环境变量 p…

一、第一个注解的 SpringMVC 程序

ch01-hello-springmvc:第一个注解的springmvc项目 所谓 SpringMVC 的注解式开发是指&#xff0c;在代码中通过对类与方法的注解&#xff0c;便可完成处理器 在 springmvc 容器的注册。注解式开发是重点。 需求&#xff1a;用户再页面发起一个请求&#xff0c;请求交给spring…

二、SpringMVC 注解式开发学习笔记

1、RequestMapping 定义请求规则 通过RequestMapping 注解可以定义处理器对于请求的映射规则。该注解可以注解在方法上&#xff0c;也可以注解在类上&#xff0c;但意义是不同的。value 属性值常以“/”开始。 RequestMapping 的 value 属性用于定义所匹配请求的 URI。但对于注…

LeetCode 2315. 统计星号(字符串)

文章目录1. 题目2. 解题1. 题目 给你一个字符串 s &#xff0c;每 两个 连续竖线 | 为 一对 。 换言之&#xff0c;第一个和第二个 | 为一对&#xff0c;第三个和第四个 | 为一对&#xff0c;以此类推。 请你返回 不在 竖线对之间&#xff0c;s 中 * 的数目。 注意&#xff…

PyCharm集成Anaconda3环境下安装 腾讯优图报错 ERROR: Could not install packages due to an EnvironmentError

一、报错截图如下&#xff1a; ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: ‘C:\Users\Zep\Python_sdk-master.zip’ 我首先是从官网下载了Python_sdk&#xff0c;然后直接把Python_sdk文件夹放在了Anaconda3的文…

LeetCode 2319. 判断矩阵是否是一个 X 矩阵

文章目录1. 题目2. 解题1. 题目 如果一个正方形矩阵满足下述 全部 条件&#xff0c;则称之为一个 X 矩阵 &#xff1a; 矩阵对角线上的所有元素都 不是 0矩阵中所有其他元素都是 0 给你一个大小为 n x n 的二维整数数组 grid &#xff0c;表示一个正方形矩阵。 如果 grid 是…

三、Java Web中出现的一些乱码问题总结(详解)

一、response.getWriter().write(&#xff09;和 response.getWriter().print(&#xff09;的区别 response.getWriter()返回的是PrintWriter&#xff0c;这是一个打印输出流 response.getWriter().write(&#xff09;和 response.getWriter().print(&#xff09;是响应给客户…

LeetCode 2325. 解密消息(map)

文章目录1. 题目2. 解题1. 题目 给你字符串 key 和 message &#xff0c;分别表示一个加密密钥和一段加密消息。 解密 message 的步骤如下&#xff1a; 使用 key 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序 。将替换表与普通英文字母表对齐&#xff0c;形…

结对项目——最大子数组

求数组中最大子数组的和 一、程序要求 1、返回一个整数数组中最大子数组的和&#xff1b; 2、输入一个整数数组&#xff0c;数组中有正数也有负数&#xff1b; 3、数组中连续的一个或多个整数组成一个子数组&#xff0c;每个子数组都有一个和&#xff1b; 4、求所有子数组的和的…

python的GUI编程和tkinter学习笔记——第一个GUI程序

一、第一个GUI程序 from tkinter import * from tkinter import messagebox# 创建窗口 root Tk()btn01 Button(root) btn01["text"] "点我就送花"btn01.pack()def songhua(e): # e就是事件对象messagebox.showinfo("Message","送你一朵…

LeetCode 2331. 计算布尔二叉树的值(树的遍历)

文章目录1. 题目2. 解题1. 题目 给你一棵 完整二叉树 的根&#xff0c;这棵树有以下特征&#xff1a; 叶子节点 要么值为 0 要么值为 1 &#xff0c;其中 0 表示 False &#xff0c;1 表示 True 。非叶子节点 要么值为 2 要么值为 3 &#xff0c;其中 2 表示逻辑或 OR &#…

linux内核启动以及文件系统的加载过程

Linux 内核启动及文件系统加载过程 当u-boot 开始执行 bootcmd 命令&#xff0c;就进入 Linux 内核启动阶段。普通 Linux 内核的启动过程也可以分为两个阶段。本文以项目中使用的 linux-2.6.37 版源码为例分三个阶段来描述内核启动全过程。第一阶段为内核自解压过程&#xff0c…