2357.使数组中所有元素都等于零
链接:2357.使数组中所有元素都等于零
难度:Easy
标签:贪心、数组、哈希表、排序、模拟、堆(优先队列)
简介:返回使 nums 中所有元素都等于 0 需要的 最少 操作数。
题解 1 - 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 };
    }
}
题解 2 - 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));
    }
};
题解 3 - python
- 编辑时间:2023-02-24
- 执行用时:32ms
- 内存消耗:14.9MB
- 编程语言:python
- 解法介绍:同上。
class Solution:
    def minimumOperations(self, nums: List[int]) -> int:
        return len(set(nums) - {0})