news 2026/1/14 4:53:45

力扣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/1/10 22:01:06

java注解,零基础入门到精通,收藏这篇就够了

注解的重要性就不用我来说了&#xff0c;controller层有controller注解&#xff0c;service层有service注解&#xff0c;基本上到处都是注解&#xff0c;任何一个Java框架都是通过注解反射来实现的&#xff01;所以注解是Java程序员的必备技能&#xff0c;如果你对注解还不是很…

作者头像 李华
网站建设 2026/1/11 13:14:03

一文看懂Java内存模型(JMM)收藏这篇就够了

文章目录 Java内存模型介绍 总览图 Java内存模型图线程、主内存、工作内存关系图CPU缓存架构图Java内存模型与硬件内存架构的关系 什么是Java内存模型Java内存模型的意义Java内存模型规范 Java内存模型的主要结构 1、程序计数器&#xff08;Program Counter Register&#xff0…

作者头像 李华
网站建设 2026/1/11 11:39:32

【免费开源文本编辑器】轻量级文本编辑器——Notepad++ 下载安装教程

需求背景&#xff1a; 在数字时代的编程开发和文本处理工作中&#xff0c;一款功能强大且高效的文本编辑器至关重要。虽然Windows系统自带的记事本能满足基本需求&#xff0c;但在专业场景下显得力不从心。今天为您推荐 Notepad —— Windows平台最受欢迎的免费开源文本编辑器…

作者头像 李华
网站建设 2026/1/7 20:15:55

nums.sort()和nums.sort((a, b) => a - b)

这两者有重要区别&#xff1a; nums.sort() 默认按字符串排序&#xff08;字典序&#xff09;&#xff0c;即使数组里是数字也会被转换为字符串再比较&#xff1a; let nums [100, 4, 200, 1, 3, 2]; nums.sort(); // [1, 100, 2, 200, 3, 4] console.log(nums); // 错误的顺序…

作者头像 李华
网站建设 2026/1/10 0:31:47

Springboot品牌购物官网rmu1i本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能&#xff1a;开题报告内容进度安排&#xff1a;1、XXXX年X月X日-XXXX年X月XX日&#xff1a;完成前期资料的搜集与整理&#xff0c;撰写开题报告以及开题PPT。2、XXXX年X月X日-XXXX年X月XX日&#xff1a;设计完成系统的总体框架。3、XXXX年X月X日-XXXX年…

作者头像 李华
网站建设 2026/1/13 6:55:48

HeiXi 配置 Metahuman

效果&#xff1a;PlayerStart(实例) 配置&#xff1a;位置 (0,149,120)角度&#xff1a;(0,-10,-90)

作者头像 李华