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

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

  • 选出一个正整数 xx 需要小于或等于 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;
}
相关推荐
苑若轻航几秒前
防抖和节流:解决高频事件性能
前端
小黑的铁粉3 分钟前
什么是事件循环?调用堆栈和任务队列之间有什么区别?
前端·javascript
小黑的铁粉4 分钟前
常见的内存泄漏有哪些?
前端·javascript
喝水的长颈鹿4 分钟前
JavaScript 基础入门
前端
喝咖啡的女孩5 分钟前
call、apply、bind 原理与实现
前端
雨落Re6 分钟前
从设计到开发,过年我用十天使用AI搭建了一个完整的博客系统
前端·后端
m0_531237178 分钟前
C语言-数组练习进阶
c语言·开发语言·算法
冴羽15 分钟前
100s 带你了解 Bun 为什么这么火
前端·node.js·bun
Sylvia33.18 分钟前
火星数据:解构斯诺克每一杆进攻背后的数字语言
java·前端·python·数据挖掘·数据分析
超级大福宝21 分钟前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode