2357. 使数组中所有元素都等于零 (Easy)
2024-10-10 16:14:46
问题描述
给你一个非负整数数组 nums
。在一步操作中,你必须:
- 选出一个正整数
x
,x
需要小于或等于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();
}
};
最新文章
- Oracle索引梳理系列(六)- Oracle索引种类之函数索引
- xcode7 The operation couldn&#39;t be completed.
- 【BZOJ】1100: [POI2007]对称轴osi
- 升级到Xcode8.2.1(Swift 2.3升级到3.0)
- OC测试错误整理
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Lodop实现web套打
- 【html】【4】html事件集合
- Meta 的两个 相关属性
- centos7 显示中文乱码
- Memcache 查看列出所有key方法
- Red Gate系列之八 SQL Connect 1.1.1.19 Edition 数据库连接及操作工具 完全破解+使用教程
- qt5.5.0成功移植到IMX6中
- 在IIS中部署Asp.net Mvc
- 【webpack】webpack-dev-server生猛上手——让我们来搭一个webpack的微服务器吧!
- 03、NetCore2.0下Web应用之搭建最小框架
- NOIP 2008 双栈排序
- 20岁少年小伙利用Python_SVM预测股票趋势月入十万!
- 对于PHP面试知识点的小结
- python 线程 进程
热门文章
- python实现两张图片拼接
- el-table多选框根据条件隐藏显示
- filebeat+Elk实现日志收集并使用kibana展示
- iframe 父子页面调用vue函数,并解决跨域问题,宽度自适应
- Mac上好用的app们
- Python 切片/列表/字符串之间装换
- flutter tabbar指示器indicator宽度高度自定义
- ubuntu20.04开机自动运行脚本实例
- 关于protobuf报错&#39;tr1/unordered_map&#39; file not found
- ubuntu18.04 20.04 22.04 环境下的QGIS安装