思路:
主要在于分配剩余的部分分配问题
代码:
class Solution:
def missingRolls(self, rolls: List[int], mean: int, n: int) -> List[int]:
m = len(rolls)
total_sum = (n + m) * mean
toset = total_sum - sum(rolls)
# 检查 toset 是否在可能的范围内
if toset < n or toset > 6 * n:
return []
# 计算平均值
new_mean = toset // n
remainder = toset % n
# 可以被 n 整除
if remainder == 0:
return [new_mean] * n
# 不能被整除,分配剩余的部分
ans = [new_mean + 1] * remainder + [new_mean] * (n - remainder)
return ans