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