【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 分钟前
从 PHP 到 AI + Golang,程序员自救转型手记(五十八):后台系统配置管理实现
前端·后端·go
用户9385156350721 分钟前
React 受控/非受控组件与 React.memo 性能优化——从本质到实战
前端·javascript·react.js
IT_陈寒32 分钟前
Java并行流把我坑惨了:原来不是线程安全的!
前端·人工智能·后端
计科土狗1 小时前
GESP六级专题之类与对象
java·前端·数据库
anOnion1 小时前
构建无障碍组件之Listbox Pattern
前端·html·交互设计
凌涘1 小时前
前端路由(三):鉴权、拦截与重定向
前端
其美杰布-富贵-李1 小时前
第 8 篇:Three.js 材质系统
javascript·three.js·js
Forever Nore1 小时前
LeetCode 1 两数之和
算法·leetcode·职场和发展
To_OC1 小时前
LC 3 无重复字符的最长子串:从入门滑动窗口到优化写法,再也不怕面试官追问
javascript·算法·leetcode
半个落月2 小时前
从零梳理 React Router:路由、懒加载、嵌套页面与登录鉴权
前端·react.js