leetcode之错误的集合
序本文主要记录一下leetcode之错误的集合
文章插图
题目集合 S 包含从1到 n 的整数 。 不幸的是 , 因为数据错误 , 导致集合里面某一个元素复制了成了集合里面的另外一个元素的值 , 导致集合丢失了一个整数并且有一个元素重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果 。 你的任务是首先寻找到重复出现的整数 , 再找到丢失的整数 , 将它们以数组的形式返回 。 示例 1:输入: nums = [1,2,2,4]输出: [2,3]注意:给定数组的长度范围是 [2, 10000] 。给定的数组是无序的 。 来源:力扣(LeetCode)链接:著作权归领扣网络所有 。 商业转载请联系官方授权 , 非商业转载请注明出处 。
题解class Solution {public int[] findErrorNums(int[] nums) {int n = nums.length;int[] count = new int[n+1];int[] result = new int[2];int sum = 0;for (int i : nums) {count[i]++;if (count[i] == 2) {result[0] = i;}sum = sum + i;}int rightSum = n * (n + 1) / 2;result[1] = rightSum - sum + result[0];return result;}}
小结【leetcode之错误的集合】这里遍历一次数组 , 求出总和 , 并计算每个元素的count , 同时找出重复的元素 , 之后根据自然数求和公式与现有总和的差值及重复的元素计算得出缺失的元素 。
doc
- 错误的集合
- Apple Watch可能会在异常天气条件下显示错误的高度读数
- 网络比15年前更慢错误更多?开发者加载了100万个网站实测
- 英特尔推出可检测代码错误的ControlFlag机器编程工具
- 苹果官网现错误标价,网友趁机下单,苹果取消乌龙订单引热议
- 微软承认Windows 10累积更新导致chkdsk工具错误
- Facebook将更直接地打击COVID-19错误信息 并向用户发出通知
- 那些老年人在新科技上犯的哭笑不得的错误
- LeetCode 刷题之一(查找常用字符)
- 拼写错误|Google 将使用新 AI 工具来强化搜索词拼写错误的解析能力
- 详解HashMap集合