※ 引述 《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;
}
};