东莞搜索seo优化排名,天津seo托管,wordpress多用户编辑wiki,html网页上传到服务器一#xff1a;题目
现有一份 n m 次投掷单个 六面 骰子的观测数据#xff0c;骰子的每个面从 1 到 6 编号。观测数据中缺失了 n 份#xff0c;你手上只拿到剩余 m 次投掷的数据。幸好你有之前计算过的这 n m 次投掷数据的 平均值 。
给你一个长度为 m 的整数数组 rolls …一题目
现有一份 n m 次投掷单个 六面 骰子的观测数据骰子的每个面从 1 到 6 编号。观测数据中缺失了 n 份你手上只拿到剩余 m 次投掷的数据。幸好你有之前计算过的这 n m 次投掷数据的 平均值 。
给你一个长度为 m 的整数数组 rolls 其中 rolls[i] 是第 i 次观测的值。同时给你两个整数 mean 和 n 。
返回一个长度为 n 的数组包含所有缺失的观测数据且满足这 n m 次投掷的 平均值 是 mean 。如果存在多组符合要求的答案只需要返回其中任意一组即可。如果不存在答案返回一个空数组。
k 个数字的 平均值 为这些数字求和后再除以 k 。
注意 mean 是一个整数所以 n m 次投掷的总和需要被 n m 整除。
示例 1
输入rolls [3,2,4,3], mean 4, n 2 输出[6,6] 解释所有 n m 次投掷的平均值是 (3 2 4 3 6 6) / 6 4 。 示例 2
输入rolls [1,5,6], mean 3, n 4 输出[2,3,2,2] 解释所有 n m 次投掷的平均值是 (1 5 6 2 3 2 2) / 7 3 。 示例 3
输入rolls [1,2,3,4], mean 6, n 4 输出[] 解释无论丢失的 4 次数据是什么平均值都不可能是 6 。 示例 4
输入rolls [1], mean 3, n 1 输出[5] 解释所有 n m 次投掷的平均值是 (1 5) / 2 3 。
二上码
class Solution {
public:vectorint missingRolls(vectorint rolls, int mean, int n) {int r_size rolls.size();int sum (r_size n) * mean;int sum1 accumulate(rolls.begin(),rolls.end(),0);int sum2 sum - sum1;//sum2 6*n 这是保证每个点均小于 6//sum2 n 这是保证每个数均为大于1整数if(sum2 6*n || sum2 n){return {};}vectorint res(n,sum2/n);//这一步做的是将剩下的数平均的分配到每个值上int cnt sum2%n;for(int i 0; i cnt; i){res[i];}return res;}
};加油boy!!!永远相信自己 菜牛在努力奔跑