2028. 找出缺失的观测数据
计算n次筛子总和sum,如果超过了n~6n范围,无解。有解的情况下,所有数赋予sum/n,同时前sum%n加上多出来的这部分
时间复杂度:O(max(m,n))O(max(m,n))O(max(m,n))
空间复杂度:O(n)O(n)O(n)
class Solution {
public:
vector<int> missingRolls(vector<int>& rolls, int mean, int n) {
int m = rolls.size();
int s = 0;
for (auto& r : rolls)
s += r;
int sum = (m + n) * mean - s;
vector<int> ans;
if (sum < n || sum > 6 * n) return ans;
int cnt = sum / n, mod = sum % n;
for (int i = 1; i <= n; i ++ )
ans.push_back(cnt + (i <= mod));
return ans;
}
};
本文介绍了一种算法,用于计算给定条件下缺失的骰子滚动数值。通过平均分配总和并调整余数部分,该算法能在有效范围内找到合理的解。
256

被折叠的 条评论
为什么被折叠?



