黄南藏族自治州网站建设_网站建设公司_HTTPS_seo优化
2026/3/2 9:31:33 网站建设 项目流程

题目链接:3810. 变成目标数组的最少操作次数(中等)

算法原理:

解法:模拟

38ms击败11.30%

时间复杂度O(N)

①先计算出哪些是需要修改的

②统计需要修改的下标

③原数组中相同的数可以一起修改,所以只要统计不同的数有多少个即可

Java代码:

class Solution { public int minOperations(int[] nums, int[] target) { int n=nums.length; int[] diff=new int[n]; //先计算出哪些是需要修改的 for(int i=0;i<n;i++) diff[i]=target[i]-nums[i]; //统计需要修改的下标 List<Integer> list=new ArrayList<>(); for(int i=0;i<n;i++) if(diff[i]!=0) list.add(i); //原数组中相同的数可以一起修改,所以只要统计不同的数有多少个即可 Set<Integer> hash=new HashSet<>(); for(int x:list) hash.add(nums[x]); return hash.size(); } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询