一、题目描述
有若干个文件,使用刻录光盘的方式进行备份,假设每张光盘的容量是500MB。
求使用光盘最少的文件分布方式,所有文件的大小都是整数的MB,且不超过500MB,文件不能分隔、分卷打包。
二、输入描述
每组文件大小的数据。
三、输出描述
使用光盘的数量。
四、测试用例
测试用例1
1、输入
100 200 100
2、输出
1
3、输出
总大小400MB < 500MB,一张光盘可以装下所有文件
测试用例2
1、输入
400 100 200 300 100
2、输出
3
3、输出
排序后:[400, 300, 200, 100, 100]
第1张光盘:400MB,剩余100MB
第2张光盘:300MB,剩余200MB
第2张光盘:放入200MB,剩余0MB
第1张光盘:放入100MB,剩余0MB
第3张光盘:100MB,剩余400MB
华为OD机试2023B卷中,要求找到使用光盘最少的文件备份方法,每张光盘500MB。通过二分查找算法,按文件大小升序排序,分配到光盘上。Java实现详细解析,算法时间复杂度为O(log n)。
订阅专栏 解锁全文
1924






