问题描述

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

给你一个非负整数数组 nums 。在一步操作中,你必须:

  • 选出一个正整数 xx 需要小于或等于 nums最小非零 元素。
  • nums 中的每个正整数都减去 x

返回使 nums 中所有元素都等于 0 需要的 最少 操作数。

示例 1:

输入:nums = [1,5,0,3,5]
输出:3
解释:
第一步操作:选出 x = 1 ,之后 nums = [0,4,0,2,4] 。
第二步操作:选出 x = 2 ,之后 nums = [0,2,0,0,2] 。
第三步操作:选出 x = 2 ,之后 nums = [0,0,0,0,0] 。

示例 2:

输入:nums = [0]
输出:0
解释:nums 中的每个元素都已经是 0 ,所以不需要执行任何操作。

提示:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 100

解题思路

贪心:不考虑数组中的零元素,每次必定减去数组中的最小非零元素,因此操作次数实际上就是数组中非零元素的种类数。

代码

class Solution {
public:
int minimumOperations(vector<int> &nums) {
unordered_map<int, int> mp;
for (int &num : nums) {
if (num != 0) {
mp[num]++;
}
}
return mp.size();
}
};

最新文章

  1. Oracle索引梳理系列(六)- Oracle索引种类之函数索引
  2. xcode7 The operation couldn&#39;t be completed.
  3. 【BZOJ】1100: [POI2007]对称轴osi
  4. 升级到Xcode8.2.1(Swift 2.3升级到3.0)
  5. OC测试错误整理
  6. Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
  7. Lodop实现web套打
  8. 【html】【4】html事件集合
  9. Meta 的两个 相关属性
  10. centos7 显示中文乱码
  11. Memcache 查看列出所有key方法
  12. Red Gate系列之八 SQL Connect 1.1.1.19 Edition 数据库连接及操作工具 完全破解+使用教程
  13. qt5.5.0成功移植到IMX6中
  14. 在IIS中部署Asp.net Mvc
  15. 【webpack】webpack-dev-server生猛上手——让我们来搭一个webpack的微服务器吧!
  16. 03、NetCore2.0下Web应用之搭建最小框架
  17. NOIP 2008 双栈排序
  18. 20岁少年小伙利用Python_SVM预测股票趋势月入十万!
  19. 对于PHP面试知识点的小结
  20. python 线程 进程

热门文章

  1. python实现两张图片拼接
  2. el-table多选框根据条件隐藏显示
  3. filebeat+Elk实现日志收集并使用kibana展示
  4. iframe 父子页面调用vue函数,并解决跨域问题,宽度自适应
  5. Mac上好用的app们
  6. Python 切片/列表/字符串之间装换
  7. flutter tabbar指示器indicator宽度高度自定义
  8. ubuntu20.04开机自动运行脚本实例
  9. 关于protobuf报错&#39;tr1/unordered_map&#39; file not found
  10. ubuntu18.04 20.04 22.04 环境下的QGIS安装