【教3妹学算法-逐日1题】使数组中全部元素都等于零

计算机软件开发 2024-10-5 20:00:28 84 0 来自 中国
插: 前些天发现了一个巨牛的人工智能学习网站,平凡易懂,风趣幽默,不由得分享一下给各人。点击跳转到网站。
对峙不懈,越积极越荣幸,各人一起学习鸭~~~
3妹:2哥,听说武汉某高校有霍乱,霍乱是什么啊?
2哥:霍乱是因摄入的食物或水受到霍乱弧菌污染而引起的一种急性腹泻性盛行症。每年,估计有300万~500万霍乱病例,尚有10万~12万人殒命。病发高峰期在夏季,能在数小时内造成腹泻脱水以致殒命。
3妹:啊, 这么严峻。
2哥:不要恐慌,现在武汉也只有一例,而且这个病的殒命核概率照旧很小的。
3妹:那怎样制止霍乱呢?
2哥:平凡人,要做到勤洗手,吃熟食, 不吃生的东西,不要去不干净的路边摊吃东西。
3妹:啊, 我还想去路边吃烧烤呢,看来照旧算了吧。
2哥:3妹就知道吃,照旧在家好好学习吧。
标题:

给你一个非负整数数组 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 <= 100
思绪:

这题着实变相是求数组中不为0的差别元素的个数。 使用set统计差别的元素。
java代码:

class Solution {    public int minimumOperations(int[] nums) {                Set<Integer> set = new HashSet<>();        int count =0;        for(int i=0;i<nums.length;i++) {            if(nums!=0 && !set.contains(nums)) {                set.add(nums);                count++;            }        }        return count;    }}
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-12-4 01:29, Processed in 0.176085 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表