当前位置: 首页 > news >正文

Leetcode 2028

思路:1-6之间的的n个数组合起来要变成sum_t = mean*(rolls.size()+n) - sum(rolls) ;

那么可以先假设每个数都是sum_t / n 其中这个数必须要在1 - 6 之间否者无法分配。

然后可以得出n * (sum_t / n ) <= sum ; 需要对余数mod进行调整,为了减少调整的次数,每次尽量向上调整;最终调整完之后 mod 必须为0;

code:

class Solution {
public:vector<int> missingRolls(vector<int>& rolls, int mean, int n) {int len = rolls.size();int sum = (n + len) * mean;for(int i = 0 ; i < len; i++){sum -= rolls[i];}//从1-6找出n个数,求和等于sumif(sum / n > 6 || sum / n < 1)return {};//为答案数组分配结果, n * (sum / n) <= sum , vector<int> ans(n, sum / n);int mod = sum % n;   //多余的部分,对答案进行调整,如果ans[i]小于6就可以进行一次调整,直到消除这个modint i = 0;while(mod && i < n){if(ans[i] < 6){if(6 - ans[i] >= mod){ans[i] += mod;mod = 0;}else{mod -= (6 - ans[i]);ans[i] = 6;}}i++;}if(mod != 0)return {};return ans;}
};

http://www.lryc.cn/news/356127.html

相关文章:

  • Angular(1):使用Angular CLI创建空项目
  • 字节跳动(校招)算法原题
  • 前端面试题日常练-day39 【面试题】
  • 心电信号降噪方法(滤波器/移动平均/小波等,MATLAB环境)
  • Kubernetes 文档 / 概念 / 工作负载 / 管理工作负载
  • 【第6章】SpringBoot整合Mybatis
  • vim常用指令——001
  • java 对接农行支付相关业务(二)
  • 超频是什么意思?超频的好处和坏处
  • 【cocos creator】进度条控制脚本,支持节点进度条,图片进度条,进度条组件,和进度文字展示
  • Bean的一些属性信息总结
  • CentOS 7 安装 Minio
  • vue3和vite实现vue-router4版本路由的配置以及自动生成路由配置
  • Flutter 中的 CupertinoDatePicker 小部件:全面指南
  • 用 Python 编写自动发送每日电子邮件报告的脚本
  • IT人的拖延——渴望成功与害怕成功的矛盾
  • 【全开源】场馆预定系统源码(ThinkPHP+FastAdmin+UniApp)
  • 音乐系统java在线音乐网站基于springboot+vue的音乐系统带万字文档
  • Python—面向对象小解(1)
  • 2024最新TikTok抖音国际版,tiktok正版免拔卡安装来了!
  • 【Python-OS】os.path.splitext()
  • 安卓开发--安卓使用Echatrs绘制折线图
  • 每日5题Day9 - LeetCode 41 - 45
  • 进程间通信的方式中,socket和消息队列的区别
  • 10. C++异步IO处理库和使用libevent实现高性能服务器
  • React里面useMemo和useCallBack的区别
  • css 渐变色边框
  • prompt提示词:如何让AI帮你提一个好问题
  • 若依ruoyi-vue element-ui 横向滚动条 动态横向滚动条
  • CET-4 听力高频词