※ 引述 《enmeitiryous (enmeitiryous)》 之铭言:
:
: 模拟周
: 题目:2028 finds missing observation
: 给定一个6面分别为1-6的骰子,给你一个长度为m的vector为被观察到的骰子掷m次的结果
: 给你一个数字n代表我们错过的观察次数(即实际总共掷了m+n次),及全部掷的结果的点数
: 总和平均,求未被观察到的n次的任一可能结果,如果不可能则回传{}
思路:
看能不能做到
如果可以就开阵列把缺的数字慢慢填进去
有没有可爱的女孩子要跟我一起刷题
如果没有的话
我明天再问一次
class Solution {
public:
vector<int> missingRolls(vector<int>& rolls, int mean, int n)
{
int m = rolls.size();
int now = 0;
for(int i : rolls)now += i;
int mean_val = mean*(m+n);
if(mean_val > now + (6*n) || mean_val < now + n)return {};
now += n;
vector<int> res(n,1);
int p = 0;
while(now < mean_val)
{
if(mean_val - now >= 5)
{
now += 5;
res[p] += 5;
}
else if(mean_val - now < 5)
{
res[p] += mean_val - now;
now += mean_val - now;
}
p++;
}
return res;
}
};