题目:
给你一个非负整数数组 nums 。在一步操作中,你必须:
选出一个正整数 x ,x 需要小于或等于 nums 中 最小 的 非零 元素。
nums 中的每个正整数都减去 x。
返回使 nums 中所有元素都等于 0 需要的 最少 操作数。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/make-array-zero-by-subtracting-equal-amounts
思路:对非零元素进行计数
class Solution {
public:
int minimumOperations(vector<int>& nums) {
unordered_set s(nums.begin(), nums.end()); //建立一个指向begin元素到end元素的无序容器
return s.size() - s.count(0);//返回容器大小减去0元素的数量
}
};