JZX轻语:简
LeetCode 2028 - 找出缺失的观测数据
发表于2024年05月27日
首先根据平均值mean
和需要插入的元素数量n
计算缺失的元素总和remaining = mean * (len(rolls) + n) - sum(rolls)
。如果remaining
不满足插入的最低/最高要求,即remaining < n
或remaining > 6 * n
(全都插入1,都超过总和 or 全都插入6,都不够)。然后均匀地构造缺失数组即可,即首先每个元素都初始化为remaining // n
,然后剩下的remaining % n
补足在前面的元素里面。
class Solution:
def missingRolls(self, rolls: List[int], mean: int, n: int) -> List[int]:
remaining = mean * (len(rolls) + n) - sum(rolls)
if remaining < n or remaining > 6 * n:
return []
return [remaining // n + (i < remaining % n) for i in range(n)]