2028:找出缺数的观测数据
解题:
class Solution {
public:
vector<int> missingRolls(vector<int>& rolls, int mean, int n) {
int sum_n = mean*(rolls.size()+n); //计算n+m个数字的总和
for( int i=0;i<rolls.size();i++ ){
sum_n = sum_n - rolls[i];
} //计算出n个缺失数的和
if(sum_n < n || sum_n>6*n) return {}; //超出了范围限制
int x=sum_n/n;
vector<int> ret(n,x);
int j=0;
int sum=x*n;
while(j<n || sum<sum_n){ //这里可以侧面印证 数组ret 值不是唯一的
if(sum<sum_n) {
ret[j]++;
}
j++;
sum++;
}
return ret;
}
};
通过结果:
备注:这个题偏简单。改进基本都是在上述思想上进行的代码优化,在此不予叙述。