2028. 找出缺失的观测数据
计算n次筛子总和sum
,如果超过了n~6n
范围,无解。有解的情况下,所有数赋予sum/n
,同时前sum%n
加上多出来的这部分
时间复杂度: O ( m a x ( 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;
}
};