继续创作,加速成长!这是我参与「日新方案 10 月更文应战」的第28天,点击检查活动详情

标题

调集 s 包含从 1 到n的整数。不幸的是,由于数据过错,导致调集里边某一个数字复制了成了调集里边的另外一个数字的值,导致调集 丢掉了一个数字 而且 有一个数字重复 。

给定一个数组 nums 代表了调集 S 发生过错后的结果。

请你找出重复呈现的整数,再找到丢掉的整数,将它们以数组的方式返回。

示例1:

输入:nums = [1,2,2,4]
输出:[2,3]

示例2:

输入:nums = [1,1]
输出:[1,2]

解题思路

重复的数字在数组中呈现 22 次,丢掉的数字在数组中呈现 00 次,其他的每个数字在数组中呈现 11 次。因此能够运用哈希表记载每个元素在数组中呈现的次数,然后遍历从 11 到 nn 的每个数字,别离找到呈现 22 次和呈现 00 次的数字,即为重复的数字和丢掉的数字。

代码完成

class Solution {
    public int[] findErrorNums(int[] nums) {
        int[] errorNums = new int[2];
        int n = nums.length;
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        for (int num : nums) {
            map.put(num, map.getOrDefault(num, 0) + 1);
        }
        for (int i = 1; i <= n; i++) {
            int count = map.getOrDefault(i, 0);
            if (count == 2) {
                errorNums[0] = i;
            } else if (count == 0) {
                errorNums[1] = i;
            }
        }
        return errorNums;
    }
}

复杂度剖析

  • 时间复杂度:O(n)
  • 空间复杂度:O(n)

我是杰少,假如您觉的我写的不错,那请给我 点赞+评论+保藏 后再走哦!

往期文章:

  • # UE4:来为我们的人物制造一个血条吧
  • 运用 Google Breakpad 来助力处理程序溃散
  • UE4 多人游戏服务器探索
  • 运用虚幻引擎自动化东西完成自动化部署
  • 如安在 UE4 中制造一扇自动敞开的大门
  • 如安在 UE4 顶用代码去操控人物移动
  • 怎么给 UE4 场景添加游戏人物
  • UE4:Android 平台开发实践攻略
  • UE4 开发避坑攻略(继续更新)
  • 新年开工啦,放个小烟花庆祝一下
  • 聊聊与苹果审核员的爱恨情仇(下)
  • 聊聊与苹果审核员的爱恨情仇(上)
  • 一名一般东西人的 2021 | 2021年终总结
  • 二叉树刷题总结:二叉查找树的特点
  • 二叉树总结:二叉树的特点
  • 二叉树总结:二叉树的修正与结构
  • StoreKit2 有这么香?嗯,我试过了,真香
  • 看完这篇文章,再也不怕面试官问我怎么结构二叉树啦!
  • 那帮做游戏的又想让我们氪金,太坏了!
  • 手把手带你撸一个网易云音乐主页 | 适配篇
  • 手把手带你撸一个网易云音乐主页(三)
  • 手把手带你撸一个网易云音乐主页(二)
  • 手把手带你撸一个网易云音乐主页(一)
  • 代码要写注释吗?写你就输了
  • Codable发布这么久我就不学,摸鱼爽歪歪,哎~就是玩儿
  • iOS 优雅的处理网络数据,你真的会吗?不如看看这篇
  • UICollectionView 自定义布局!看这篇就够了

请你喝杯 ☕️ 点赞 + 重视哦~

  1. 阅读完记得给我点个赞哦,有 有动力
  2. 重视公众号— HelloWorld杰少,第一时间推送新姿态

最终,创作不易,假如对我们有所协助,希望我们点赞支撑,有什么问题也能够在评论区里评论~**