【Leetcode 2357 】 使数组中所有元素都等于零 —— 哈希表

给你一个非负整数数组 nums 。在一步操作中,你必须:

  • 选出一个正整数 x ,x 需要小于或等于 nums 中 最小 的 非零 元素。
  • nums 中的每个正整数都减去 x。

返回使 nums 中所有元素都等于0 需要的 最少 操作数。

示例 1:

复制代码
输入:nums = [1,5,0,3,5]
输出:3
解释:
第一步操作:选出 x = 1 ,之后 nums = [0,4,0,2,4] 。
第二步操作:选出 x = 2 ,之后 nums = [0,2,0,0,2] 。
第三步操作:选出 x = 2 ,之后 nums = [0,0,0,0,0] 。

示例 2:

复制代码
输入:nums = [0]
输出:0
解释:nums 中的每个元素都已经是 0 ,所以不需要执行任何操作。

提示:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 100

哈希表

TypeScript 复制代码
function minimumOperations(nums: number[]): number {
  const numSet = new Set(nums);
  return numSet.has(0) ? numSet.size - 1 : numSet.size;
}
相关推荐
JustNow_Man2 分钟前
【Harness】本地文本向量化搜索解决方案--qmd
git·python·算法
jaysee-sjc16 分钟前
【苍穹外卖】Day10:定时任务与 WebSocket 实时提醒实战
java·开发语言·javascript·数据库·vue.js·websocket·网络协议
敲代码的苦1318 分钟前
头歌 数据结构—消防资源调度
数据结构·算法
计算机魔术师22 分钟前
出题人自己算错了,AI成绩从88%直接跳到98%
前端
布莱克60524 分钟前
C++ 中 set 与 map 的区别详解
开发语言·c++·算法·哈希
lisw0532 分钟前
算法与软件的本质区别
驱动开发·算法·数学建模
我不会插花弄玉34 分钟前
5.Hash 【由浅入深-redis】
redis·算法·哈希算法
Nuanyt38 分钟前
LeetCode Hot 100 · 双指针 3 题 Java
java·笔记·算法·leetcode·双指针
Amos_Web40 分钟前
Rspack 源码解析(三十一):HotModuleReplacementPlugin 如何用 hash 比对生成增量更新
前端
尤水就下1 小时前
🔥说一说在线文档的 Block 架构是如何实现的
前端·javascript·架构