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 };
}
}