LC每日一题|20240527 - 2028. 找出缺失的观测数据
现有一份
n + m
次投掷单个 六面 骰子的观测数据,骰子的每个面从1
到6
编号。观测数据中缺失了n
份,你手上只拿到剩余m
次投掷的数据。幸好你有之前计算过的这n + m
次投掷数据的 平均值 。给你一个长度为
m
的整数数组rolls
,其中rolls[i]
是第i
次观测的值。同时给你两个整数mean
和n
。返回一个长度为 **
n
**的数组,包含所有缺失的观测数据,且满足这 **n + m
**次投掷的 平均值 是 **mean
。如果存在多组符合要求的答案,只需要返回其中任意一组即可。如果不存在答案,返回一个空数组。
k
个数字的 平均值 为这些数字求和后再除以k
。注意
mean
是一个整数,所以n + m
次投掷的总和需要被n + m
整除。
提示:
m == rolls.length
1 <= n, m <= 10^5
1 <= rolls[i], mean <= 6
题目等级:Medium
解题思路
简单题,直接模拟即可~
AC代码
class Solution {
fun missingRolls(rolls: IntArray, mean: Int, n: Int): IntArray {
val total = mean * (rolls.size + n) - rolls.sum()
if (total < n || total > n * 6) return intArrayOf()
val x = total / n
val y = total % n
return IntArray(n) { if (it >= y) x else x + 1 }
}
}