当前位置: 首页 > news >正文

力扣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语句,用所有的箱子。

http://www.jsqmd.com/news/211768/

相关文章:

  • 基于大数据的国产跑鞋推荐系统的设计与实现
  • OSPF邻居建立失败完整排查指南
  • 崩溃!2026年度必备AIGC降重软件,知网AI率高达62%救命降到5%都靠它
  • 大学生论文降重崩溃救命!2026年知网AIGC检测硬核降重神器:嘎嘎降AI与比话降AI十佳降AI率产品实操揭秘
  • 基于AI融合与智能控制的新能源系统场景实例:基于强化学习的光伏MPPT自适应控制策略仿真
  • 利用C#对接BotSharp本地大模型AI Agent示例(2)
  • 亲测好用9个一键生成论文工具,自考学生轻松搞定论文!
  • 基于A星算法的无人机三维路径规划算法研究附Matlab代码
  • 基于A星算法的无人机三维路径规划算法研究附Matlab代码
  • 实验数据处理的AI加速:架构师的分布式训练
  • Symbol不是摆设:前端老铁们怎么用它解决实际问题
  • 论文挂科崩溃救命!2026年知网AIGC检测高达62%,这三款论文去AI痕迹神器帮你降重降AI率,秒过查重不掉线!
  • 人工智能代理的10种常见故障模式及其修复方法
  • 华为openEuler 欧拉操作系统安装Docker方法和步骤
  • 技术学习:构建知识体系与提升实践能力
  • 告别重复造轮子!MCP 协议科普:给大模型装上“USB-C”万能接口
  • 2025年12月 GESP CCF编程能力等级认证Python三级真题
  • 基于ILP的最优PMU放置优化研究附Matlab代码
  • 强烈安利!继续教育必用TOP8 AI论文工具测评
  • 洁诚新能源:践行双碳战略的绿色行动派
  • 2025年12月 GESP CCF编程能力等级认证Python四级真题
  • Docker Compose UI:让容器管理告别命令行,小白也能轻松上手
  • 最近在折腾一个高性能C#服务端轮子,目标是搞个能同时扛住各种网络协议的瑞士军刀。咱这轮子就得自己撸底层,从Socket开始造轮子。先上个核心架构图镇楼
  • pkill -15 monkey命令及信号15解释
  • 大数据数据工程中的存储格式选择:Parquet vs ORC
  • 2025年12月 GESP CCF编程能力等级认证Python二级真题
  • conda虚拟环境备份与安装
  • 全网最全9个一键生成论文工具,专科生毕业论文轻松搞定!
  • Qt学习记录
  • java: 找不到符号,零基础入门到精通,收藏这篇就够了