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

leetcode 2598 执行操作后的最大MEX

一、问题描述

二、解题思路

具体思路

可以借助同余的性质来解决这个问题。如果a%value==b%value,则a在经过一定次数的变换后一定可以变成b;

整体思路

(1)首先,遍历nums数字,统计余数的频次,r[i]表示余数为i的数的个数。

注意:(x%value+value)%value是对负数求余进行了修正,否则结果是不对的。

(2)然后,从0开始加一枚举,如果r[i%value]!=0,表示存在一个数字可以经过变换成为i,然后执行r[i%value]--,表示这个数字已经用过了。如果r[i%value]==0,表示没有数字可以变换成为i,直接返回这时的i即可,这时的i即为所求。

(3)如果没有找到,直接返回-1;

三、代码实现

class Solution {
public:int findSmallestInteger(vector<int>& nums, int value) {//统计余数频次vector<int>r(value,0);for(auto x:nums){int tmp=(x%value+value)%value;r[tmp]++;}//寻找缺失的最小整数for(int i=0;;i++){int tmp=i%value;if(r[tmp]==0) return i;else{r[tmp]--;}}return -1;}
};

http://www.dtcms.com/a/490003.html

相关文章:

  • FFmpeg 基本API avio_read函数内部调用流程分析
  • 【计算机网络】HTTP协议核心知识梳理
  • 基于 MediaMTX 的微信小程序 Web 实时音视频实操方案
  • 《UDP网络编程完全指南:从套接字到高并发聊天室实战》
  • 关于 云服务器WindowsServer2016双击无法运行可执行程序 的解决方法
  • LeetCode每日一题——在区间范围内统计奇数数目
  • Linux内核架构浅谈43-Linux slab分配器:小内存块分配与内核对象缓存机制
  • 最好的免费发布网站wordpress 文章二维码
  • Spring Boot 3零基础教程,Spring Boot 日志格式,笔记18
  • mybatis-plus分页插件使用
  • 福建住房和城乡建设网站网站做提示框
  • 李宏毅机器学习笔记24
  • Leetcode每日一练--28
  • Vue Router 路由元信息(meta)详解
  • 列表标签之无序标签(本文为个人学习笔记,内容整理自哔哩哔哩UP主【非学者勿扰】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
  • sk13.【scikit-learn基础】-- 自定义模型与功能
  • (Spring)Spring Boot 中 @Valid 与全局异常处理器的联系详解
  • 数据库数据类型,数据值类型,字符串类型,日期类型详解
  • 怎么写网站规划方案买链接做网站 利润高吗
  • SAP MM物料主数据锁定及解锁接口分享
  • [FSCalendar] 可定制的iOS日历组件 | docs | Interface Builder
  • 中兴B860AV5.1-M2/B860AV5.2M_安卓9_S905L3SB_支持外置WIFI_线刷固件包
  • AI 模型部署体系全景:从 PyTorch 到 RKNN 的嵌入式类比解析
  • 全球汽车紧固件产业进入关键转型期,中国供应链加速融入世界市场
  • 17网站一起做网店下载自动发卡网站建设
  • PHP 类型比较
  • oracle:To_char
  • MySQL 数据库核心操作全解析:从创建到备份与连接管理
  • 环境函数 SYS_CONTEXT 在 DM8 与 Oracle 中的差异
  • 长春怎么做网站重庆网站建设aiyom