2028. 找出缺失的观测数据

2028. 找出缺失的观测数据

现有一份 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 。

提示:

  • m == rolls.length
  • 1 <= n, m <= 10510^5105
  • 1 <= rolls[i], mean <= 6

解题思路

  1. 先计算出剩余 m 次投掷的数据的点数总和,根据平均值计算出所需的总点数之和,从而算出缺少的点数之和diff
  2. 对diff/n向下取整,先将diff平均分为n份,再将多出来的值,以加一的方式,平摊到每个观测结果中

代码

class Solution {
public:vector<int> missingRolls(vector<int>& rolls, int mean, int n) {int sum=0;for (int i = 0; i < rolls.size(); ++i) {sum+=rolls[i];}int diff=mean*(n+rolls.size())-sum;if (diff>6*n||diff<n)return {};vector<int> res;for (int i = 0; i < n; ++i) {res.push_back(diff/n);}int re=diff-(n)*(diff/n);for (int i = 0; i <n&&re>0 ; ++i) {res[i]++;re--;}return res;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

51nod 1250 排列与交换——dp

题目&#xff1a;http://www.51nod.com/onlineJudge/questionCode.html#!problemId1250 仔细思考dp。 第一问&#xff0c;考虑已知 i-1 个数有多少种方案。再放入一个数&#xff0c;它是最大的且在最后面&#xff0c;所以它的位置不同的话&#xff0c;就是不同的方案。它在特定…

BZOJ.1024.[SCOI2009]生日快乐(记忆化搜索)

题目链接 搜索&#xff0c;枚举切的n-1刀。 对于长n宽m要切x刀&#xff0c;可以划分为若干个 长n宽m要切x刀 的子问题&#xff0c;对所有子问题的答案取max 对所有子问题的方案取min 就是当前状态答案。 这显然是会有很多重复状态的&#xff0c;用map记忆化(长宽都是double)。 …

kfc流程管理炸薯条几秒_炸薯条成为数据科学的最后前沿

kfc流程管理炸薯条几秒In February, our Data Science team had an argument about which restaurant we went to made the best French Fry.2月&#xff0c;我们的数据科学团队对我们去哪家餐厅做得最好的炸薯条产生了争议。 We decided to make it a competition throughout…

XSS理解与防御

一、说明 我说我不理解为什么别人做得出来我做不出来&#xff0c;比如这里要说的XSS我觉得很多人就不了解其定义和原理的&#xff0c;在不了解定义和原理的背景下他们可以拿站&#xff0c;这让人怎么理解呢。那时我最怕两个问题&#xff0c;第一个是题目做得怎么样第二个是你能…

Java大数

转自&#xff1a;https://www.cnblogs.com/zufezzt/p/4794271.html import java.util.*; import java.math.*; public class Main{public static void main(String args[]){Scanner cin new Scanner(System.in);BigInteger a, b;//以文件EOF结束while (cin.hasNext()){a cin.…

2027. 转换字符串的最少操作次数

2027. 转换字符串的最少操作次数 给你一个字符串 s &#xff0c;由 n 个字符组成&#xff0c;每个字符不是 ‘X’ 就是 ‘O’ 。 一次 操作 定义为从 s 中选出 三个连续字符 并将选中的每个字符都转换为 ‘O’ 。注意&#xff0c;如果字符已经是 ‘O’ &#xff0c;只需要保持…

bigquery_到Google bigquery的sql查询模板,它将您的报告提升到另一个层次

bigqueryIn this post, we’re sharing report templates that you can build with SQL queries to Google BigQuery data.在本文中&#xff0c;我们将分享您可以使用SQL查询为Google BigQuery数据构建的报告模板。 First, you’ll find out about what you can calculate wit…

分类树/装袋法/随机森林算法的R语言实现

原文首发于简书于[2018.06.12] 本文是我自己动手用R语言写的实现分类树的代码&#xff0c;以及在此基础上写的袋装法&#xff08;bagging&#xff09;和随机森林&#xff08;random forest&#xff09;的算法实现。全文的结构是&#xff1a; 分类树 基本知识predginisplitrules…

数据科学学习心得_学习数据科学时如何保持动力

数据科学学习心得When trying to learn anything all by yourself, it is easy to lose motivation and get thrown off track.尝试自己学习所有东西时&#xff0c;很容易失去动力并偏离轨道。 In this article, I will provide you with some tips that I used to stay focus…

用php当作cat使用

今天&#xff0c;本来是想敲 node test.js 执行一下&#xff0c;test.js文件&#xff0c;结果 惯性的敲成了 php test.js, 原文输出了 test.js的内容。 突然觉得&#xff0c;这东西 感觉好像是 cat 命令&#xff0c;嘿嘿&#xff0c;以后要是ubuntu 上没装 cat &#xff0c; …

建信01. 间隔删除链表结点

建信01. 间隔删除链表结点 给你一个链表的头结点 head&#xff0c;每隔一个结点删除另一个结点&#xff08;要求保留头结点&#xff09;。 请返回最终链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4] 输出: [1,3] 解释&#xff1a; 蓝色结点为删除的结点…

python安装Crypto:NomodulenamedCrypto.Cipher

python 安装Crypto时出现的错误:NomodulenamedCrypto.Cipher 首先直接pip install Crypto 这时会在lib/site-packages/ 文件夹下生成crypto文件夹&#xff0c;将其重命名为Crypto ...然而这个文件夹下没有Cipher模块&#xff0c;还需要pip安装一个pycrypto&#xff0c;不过wind…

python多项式回归_在python中实现多项式回归

python多项式回归Video Link影片连结 You can view the code used in this Episode here: SampleCode您可以在此处查看 此剧 集中使用的代码&#xff1a; SampleCode 导入我们的数据 (Importing our Data) The first step is to import our data into python.第一步是将我们的…

Uboot 命令是如何被使用的?

有什么问题请 发邮件至syyxyoutlook.com, 欢迎交流~ 在uboot代码中命令的模式是这个样子&#xff1a; 这样是如何和命令行交互的呢&#xff1f; 在command.h 中, 我们可以看到如下宏定义 将其拆分出来&#xff1a; #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \ U_…

2029. 石子游戏 IX

2029. 石子游戏 IX Alice 和 Bob 再次设计了一款新的石子游戏。现有一行 n 个石子&#xff0c;每个石子都有一个关联的数字表示它的价值。给你一个整数数组 stones &#xff0c;其中 stones[i] 是第 i 个石子的价值。 Alice 和 Bob 轮流进行自己的回合&#xff0c;Alice 先手…

大数据可视化应用_在数据可视化中应用种族平等意识

大数据可视化应用The following post is a summarized version of the article accepted to the 2020 Visualization for Communication workshop as part of the 2020 IEEE VIS conference to be held in October 2020. The full paper has been published as an OSF Preprint…

Windows10电脑系统时间校准

有时候新安装电脑系统&#xff0c;系统时间不对&#xff0c;需要主动去校准系统时间。1、点击时间 2、日期和时间设置 3、其他日期、时间和区域设置 4、设置时间和日期 5、Internet 时间 6、点击立即更新&#xff0c;如果更新失败就查电脑是否已联网&#xff0c;重试点击立即更…

webpack问题

Cannot find module webpack/lib/node/NodeTemplatePlugin 全局&#xff1a;npm i webpack -g npm link webpack --save-dev 转载于:https://www.cnblogs.com/doing123/p/8994269.html

397. 整数替换

397. 整数替换 给定一个正整数 n &#xff0c;你可以做如下操作&#xff1a; 如果 n 是偶数&#xff0c;则用 n / 2替换 n 。 如果 n 是奇数&#xff0c;则可以用 n 1或n - 1替换 n 。 n 变为 1 所需的最小替换次数是多少&#xff1f; 示例 1&#xff1a; 输入&#xff1a;…

pd种知道每个数据的类型_每个数据科学家都应该知道的5个概念

pd种知道每个数据的类型意见 (Opinion) 目录 (Table of Contents) Introduction 介绍 Multicollinearity 多重共线性 One-Hot Encoding 一站式编码 Sampling 采样 Error Metrics 错误指标 Storytelling 评书 Summary 摘要 介绍 (Introduction) I have written about common ski…