华为OD机试 Python【 数据最节约的备份方法】

描述

你有一堆文件需要备份,但你只有一些500MB的光盘。你的任务是弄清楚,为了备份所有文件,你最少需要多少张光盘?

核心要点:

每个文件的大小都是整数MB,而且不会超过500MB。
文件不能被拆分来备份。
给我数据:

文件的大小。如: 100,500,300,200,400

最少需要的光盘数。如:3

例子:

对于100,500,300,200,400这些文件,你可以这样备份:(100,400),(200,300),(500)。所以,你只需要3张光盘。

代码

def min_discs_needed(files, capacity=500):
    files = sorted(files, rever

你可能感兴趣的:(华为od,python,链表,华为机试)