写点什么

LeetCode 题解:2357. 使数组中所有元素都等于零,哈希表,详细注释

作者:Lee Chen
  • 2024-10-24
    福建
  • 本文字数:357 字

    阅读完需:约 1 分钟

原题链接:https://leetcode.cn/problems/make-array-zero-by-subtracting-equal-amounts/


解题思路:


  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] 。
复制代码


  1. 可以发现每个非零数字135,无论个数多少都只做了一次减法

  2. 因此,我们只需要统计nums中一共有多少种非零数字

  3. 也就是说需要统计并去重,因此可以使用Set统计


/** * @param {number[]} nums * @return {number} */var minimumOperations = function (nums) {  let set = new Set()
for (const num of nums) { // 每个非零数字都只会减一次,因此只需要用Set统计即可 num > 0 && set.add(num) }
return set.size}
复制代码


发布于: 刚刚阅读数: 4
用户头像

Lee Chen

关注

还未添加个人签名 2018-08-29 加入

还未添加个人简介

评论

发布
暂无评论
LeetCode题解:2357. 使数组中所有元素都等于零,哈希表,详细注释_Lee Chen_InfoQ写作社区