跳到主要内容

2357.使数组中所有元素都等于零

链接:2357.使数组中所有元素都等于零
难度:Easy
标签:贪心、数组、哈希表、排序、模拟、堆(优先队列)
简介:返回使 nums 中所有元素都等于 0 需要的 最少 操作数。

题解 1 - cpp

  • 编辑时间:2023-02-24
  • 执行用时:4ms
  • 内存消耗:8.3MB
  • 编程语言:cpp
  • 解法介绍:哈希存储。
class Solution {
public:
int minimumOperations(vector<int>& nums) {
unordered_set<int> s(nums.begin(), nums.end());
return s.size() - (s.count(0));
}
};

题解 2 - python

  • 编辑时间:2023-02-24
  • 执行用时:32ms
  • 内存消耗:14.9MB
  • 编程语言:python
  • 解法介绍:同上。
class Solution:
def minimumOperations(self, nums: List[int]) -> int:
return len(set(nums) - {0})

题解 3 - rust

  • 编辑时间:2023-02-24
  • 内存消耗:2.3MB
  • 编程语言:rust
  • 解法介绍:同上。
impl Solution {
pub fn minimum_operations(nums: Vec<i32>) -> i32 {
let mut s = std::collections::HashSet::<i32>::new();
for num in nums {
s.insert(num);
}
return s.len() as i32 - if s.contains(&0) { 1 } else { 0 };
}
}