news 2026/6/9 19:46:37

力扣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/6/3 14:30:21

大数据数据工程中的存储格式选择:Parquet vs ORC

大数据存储格式深度对比&#xff1a;Parquet与ORC的技术选型指南 元数据框架 标题&#xff1a;大数据存储格式深度对比&#xff1a;Parquet与ORC的技术选型指南关键词&#xff1a;大数据存储、列存格式、Parquet、ORC、性能优化、Schema演化、数据工程摘要&#xff1a;本文从第…

作者头像 李华
网站建设 2026/6/8 4:28:21

基于dq0变换的三相并联有源电力滤波器研究附Simulink仿真

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/6/10 15:10:50

基于ILP的最优PMU放置优化研究附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/6/10 12:23:04

状态管理:Flutter 为什么走上了和前端一样的“百家争鸣”?

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

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

GESP Python 编程一级教材之 13 掌握模块的导入方法(教程含历年试题解析)

系列文章 《GESP系列教程之 什么是GESP?》 《GESP 认证标准之 Python 编程一级标准(考试大纲与要求含考试真题)》 《GESP 认证标准之 Python 编程二级标准(考试大纲与要求含考试真题)》 《GESP 认证标准之 Python 编程三级标准(考试大纲与要求含考试真题)》 《GESP …

作者头像 李华