在python中查找售出n个物品后剩余物品数量的程序
假设我们有一个名为items的数字列表和另一个值n。一个销售员有一个带有随机ID的包装物。销售员可以从袋子中删除多达n个物品。我们必须找到在n个删除之后袋子中不同ID的最小数量。
因此,如果输入如下所示: items = [2, 2, 6, 6] n = 2,则输出将为1,因为只有具有单个目标的项目才会留下两个ID为2或ID为6的项目。
为了解决这个问题,我们将按照以下步骤进行:
- c:计算items中每个元素的频率
- ans:c的长度
- freq:对c中所有频率的列表进行排序
- i:0
- 当i
- 如果freq[i] <= n,则
- n:= n-freq[i]
- ans:= ans-1
- 否则,
- 返回ans
- i:= i + 1
- 返回0
让我们看一下以下实现以更好地理解: