🗒️2598. 执行操作后的最大 MEX
2024-12-10
| 2024-12-10
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Dec 10, 2024 01:36 AM
给你一个下标从 0 开始的整数数组 nums 和一个整数 value 。
在一步操作中,你可以对 nums 中的任一元素加上或减去 value 。
  • 例如,如果 nums = [1,2,3] 且 value = 2 ,你可以选择 nums[0] 减去 value ,得到 nums = [-1,2,3] 。
数组的 MEX (minimum excluded) 是指其中数组中缺失的最小非负整数。
  • 例如,[-1,2,3] 的 MEX 是 0 ,而 [1,0,3] 的 MEX 是 2 。
返回在执行上述操作 任意次 后,nums 的最大 MEX 
  • 1 <= nums.length, value <= 105
  • 109 <= nums[i] <= 109

哈希表

先根据同余进行分组,然后找出出现次数最少的余数,计算 value * min_cnt + rem_num
使用数组模拟。使用 cnt[(num % value + value) % value]++; 来求余数,针对负数也可以使用,不需要逻辑判断。

📎 参考

  • 【题单】数学算法
  • 326. 3 的幂2453. 摧毁一系列目标
    Loading...