一:题目

现有一份 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:vector<int> missingRolls(vector<int>& 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 {};}vector<int> res(n,sum2/n);//这一步做的是将剩下的数平均的分配到每个值上int cnt = sum2%n;for(int i = 0; i < cnt; i++){res[i]++;}return res;}
};


加油boy!!!永远相信自己 菜牛在努力奔跑!!!!!

leedcode05 找出缺失的观测数据(思路加详解)相关推荐

  1. LeetCode 2028. 找出缺失的观测数据

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   现有一份 n + m次 ...

  2. php单链表检测有没有环,PHP找出链表中环入口节点步骤详解

    这次给大家带来PHP找出链表中环入口节点步骤详解,PHP找出链表中环入口节点的注意事项有哪些,下面就是实战案例,一起来看一下. 问题 一个链表中包含环,请找出该链表的环的入口结点. 解决思路 第一步, ...

  3. 7-2 旅行售货员 (10 分)(TSP问题思路加详解)

    一题目 某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费).他要选定一条从驻地出发,经过每个城市一遍,最后回到驻地的路线,使总的路程(或总旅费)最小. 输入格式: 第一行为城市数n 下面n ...

  4. Redis进阶-如何从海量的 key 中找出特定的key列表 Scan详解

    文章目录 需求 scan scan基本使用 批量写入一批模拟数据 字典的结构 scan 遍历顺序 (高位进位法) 渐进式 rehash 更多的 scan 指令 大 key 扫描 --bigkeys 使 ...

  5. 7-52 两个有序链表序列的交集 (20 分)(思路加详解尾插法)come Boby!

    一:题目 已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3. 输入格式: 输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列) ...

  6. 7-1 寻找大富翁 (25 分)(思路加详解+两种做法(一种优先队列,一种vector容器))

    一:题目 胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人.假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁. 输入格式: 输入首先给出两个正整数N(≤1 ...

  7. python版 常用排序算法 思路加详解 冒泡排序、快速排序、插入排序、选择排序

    注:这里所有排序操作都以从小到大排列为例,想要从大到小排的自行修改代码即可 目录 一.冒泡排序 思路: 步骤: 解析: 二.快速排序 思路: 步骤: 代码: 三.插入排序 思路: 代码: 四.选择排序 ...

  8. 7-53 两个有序序列的中位数 (25 分)(思路加详解)用STL容器中的set容器的自动去重过不去

    一:题目 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数.有序序列A 0 ​ ,A 1 ​ ,⋯,A N−1 ​ 的中位数指A (N−1)/2 ​ 的值,即第⌊(N+1)/ ...

  9. 7-36 社交网络图中结点的“重要性”计算 (30 分)(思路加详解)兄弟们PTA乙级题目冲起来

    一:题目 在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来.他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互作用,可以增强也可以减弱.而结点根据其所处的位 ...

最新文章

  1. linux 网卡无效 设置_windows使用xftp连接本机上的linux虚拟机
  2. 【CCIE学习干货】LDP:标签的那些事儿
  3. Java 求分段函数g(x)的值
  4. sql group by having用法_神奇的 SQL,Group By 真扎心,原来是这样!
  5. 操作系统原理 : 非连续的内存分配,分段,页表
  6. RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ
  7. Error: Another program is already listening on a port that one of our HTTP servers is configured to
  8. 本来中午打算应付下随便吃点,可是连盐都没有放的辣椒炒蛋实在是令人不快...
  9. 鸿蒙有没有手机管家,鸿蒙2.0手机快了,华为EMUI 11透露关键信息
  10. [网页设计]Ajax、Comet与Websocket--转
  11. Linux命令(二)
  12. Swift 反射 API 及用法
  13. 读取usb接口数据_笔记本接口不够?无须担心!小米分线器开箱初体验
  14. GitHub 爬虫项目
  15. 偏微分方程数值求解 -- ING
  16. 列车停车控制算法及仿真研究
  17. 学python自学多久_python自学要多久能学会
  18. Hark的数据结构与算法练习之快速排序
  19. 如何利用CCleaner快速查找重复文件?
  20. 验房师去哪找靠谱,验房项目以及验房整改建议,精装房验房项目、毛坯房验房项目

热门文章

  1. IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡
  2. 调试 不弹出 小米_时隔六年,小米NFC碰碰贴复活,碰一下自动亮灯、联网、投屏...
  3. Android之 AudioTrack学习
  4. shell--指“提供使用者使用界面”的软件(命令解析器)
  5. 软件项目组织管理(六)项目时间管理
  6. python 文件写入多个参数_pandas 把数据写入txt文件每行固定写入一定数量的值方法...
  7. 中国第一个发《Nature》的竟然是清朝人!被皇帝夸天下第一,他却觉得羞耻..........
  8. 22张令人叹为观止的照片,你所未知的另一面
  9. 国内 GitHub 造假黑色产业链曝光;开源开发者撤销对 ICE 禁用的决定
  10. 我敢打赌,这世界没有python数据分析解决不了的问题