news 2026/6/2 17:58:51

力扣3074重新分装苹果的题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣3074重新分装苹果的题解

题目:

给你一个长度为 n 的数组 apple 和另一个长度为 m 的数组 capacity 。

一共有 n 个包裹,其中第 i 个包裹中装着 apple[i] 个苹果。同时,还有 m 个箱子,第 i 个箱子的容量为 capacity[i] 个苹果。

请你选择一些箱子来将这 n 个包裹中的苹果重新分装到箱子中,返回你需要选择的箱子的 最小 数量。

注意,同一个包裹中的苹果可以分装到不同的箱子中。

我的代码:class Solution {
public int minimumBoxes(int[] apple, int[] capacity) {
int sum=0;//总质量
// int count=0;//计算所需要箱子的数量
for(int i=0;i<apple.length;i++){//计算n个苹果的质量
sum+=apple[i];
}
if(sum==0) return 0;
for(int i=0;i<capacity.length-1;i++){//降序的冒泡排序 排序的轮数
for(int j=0;j<capacity.length-i-1;j++){//最大的元素在前面
if(capacity[j]<capacity[j+1]){
int temp=capacity[j];
capacity[j]=capacity[j+1];
capacity[j+1]=temp;
}
}
}
int[] prefix;//前缀和数组
prefix=new int[capacity.length+1];
for(int i=1;i<=capacity.length;i++){//构建前缀和数组
prefix[i]=prefix[i-1]+capacity[i-1];
}
for(int i=1;i<=capacity.length;i++){
if(prefix[i]>=sum){
return i;
}
}
return capacity.length;//理论上不会出现
}
}

对题目的理解:我们要首先去计算苹果有多重,且对capacity数组进行处理,我用的冒泡排序进行降序处理,因为我们要使箱子的数量最少,所以应该先用能装最多的箱子去装苹果,因此可以获得最少的箱子树。

在这代码中我还用了前缀和去计算装苹果的重量,还有一种极端的情况是最后的return语句,用所有的箱子。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/31 1:45:52

Symbol不是摆设:前端老铁们怎么用它解决实际问题

Symbol不是摆设&#xff1a;前端老铁们怎么用它解决实际问题Symbol不是摆设&#xff1a;前端老铁们怎么用它解决实际问题为啥突然聊 Symbol&#xff1f;Symbol 到底是个啥玩意儿创建 Symbol 的几种姿势1. 裸奔创建&#xff1a;Symbol(description)2. 全局登记&#xff1a;Symbo…

作者头像 李华
网站建设 2026/5/29 4:16:59

最近在折腾一个高性能C#服务端轮子,目标是搞个能同时扛住各种网络协议的瑞士军刀。咱这轮子就得自己撸底层,从Socket开始造轮子。先上个核心架构图镇楼

c#高性能服务器源代码&#xff0c;其中包括mvc api服务&#xff0c;http服务&#xff0c;ftp服务&#xff0c;sokect服务&#xff0c;websocket服务&#xff0c;大文件传输服务。 这些服务均抛开iis及第三支持&#xff0c;可写成服务或随软件启动而启动。public class ServerHo…

作者头像 李华
网站建设 2026/6/2 10:33:52

LeetCode 468 验证 IP 地址

文章目录摘要描述IPv4 的规则可以总结成一句话IPv6 的规则则是题解答案题解代码分析IPv4 校验逻辑拆解IPv6 校验逻辑拆解示例测试及结果示例 1示例 2示例 3时间复杂度空间复杂度总结摘要 《验证 IP 地址》是一道非常工程化的题。 它不像很多算法题那样考复杂技巧&#xff0c;…

作者头像 李华
网站建设 2026/5/28 15:33:16

MCP 很火,来看看我们直接给后台管理系统上一个 MCP?

一、什么是 MCP 引用一些官方的介绍吧&#xff1a; Model Context Protocol (MCP) 是一个开放协议&#xff0c;它使 LLM 应用与外部数据源和工具之间的无缝集成成为可能。无论你是构建 AI 驱动的 IDE、改善 chat 交互&#xff0c;还是构建自定义的 AI 工作流&#xff0c;MCP 提…

作者头像 李华