给定一个 正整数 数组 beans
,其中每个整数表示一个袋子里装的魔法豆的数目。
请你从每个袋子中 拿出 一些豆子(也可以 不拿出),使得剩下的 非空 袋子中(即 至少还有一颗 魔法豆的袋子)魔法豆的数目 相等。一旦把魔法豆从袋子中取出,你不能再将它放到任何袋子中。
请返回你需要拿出魔法豆的 最少数目。
思路:先排序
先算出总量然后看假设每个袋子的数量是最后拿完的数量算出每次要拿多少球 比较得出最小值
class Solution {
public long minimumRemoval(int[] beans) {
Arrays.sort(beans);
long sum = 0;
long minRemove = Long.MAX_VALUE;
for (int bean : beans) {
sum += bean;
}
for (int i = 0; i < beans.length; i++) {
minRemove = Math.min(minRemove, sum - (long) beans[i] * (beans.length - i));
}
return minRemove;
}
}