首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >LeetCode69|消失的数字

LeetCode69|消失的数字

作者头像
码农王同学
发布2020-10-14 10:34:36
发布2020-10-14 10:34:36
5240
举报
文章被收录于专栏:后端Coder后端Coder

1,问题简述

数组nums包含从0到n的所有整数,但其中缺了一个。

请编写代码找出那个缺失的整数。

你有办法在O(n)时间内完成吗?

2,示例

代码语言:javascript
复制
示例 1:
输入:[3,0,1]
输出:2

示例 2:

输入:[9,6,4,2,3,5,7,0,1]
输出:8

3,题解思路

桶排序

4,题解程序

代码语言:javascript
复制
 
public class MissingNumberTest {
    public static void main(String[] args) {
        int[] nums = {9, 6, 4, 2, 3, 5, 7, 0, 1};
        int missingNumber = missingNumber(nums);
        System.out.println("missingNumber = " + missingNumber);
    }

    public static int missingNumber(int[] nums) {
        if (nums == null || nums.length == 0) {
            return -1;
        }
        int[] newArray = new int[nums.length + 1];
        for (int num : nums) {
            newArray[num]++;
        }
        for (int i = 0; i < newArray.length; i++) {
            if (newArray[i] == 0) {
                return i;
            }
        }
        return -1;
    }
}

5,题解程序图片版

6,总结

之前自己已经分享了几篇关于桶排序的使用了,这里又基于桶排序进行解题了,最近一段时间的输出文章都是自己之前做过的内容,自己打算将做过的题都整理成一篇篇文章进行梳理一下,喜欢看java的文章可以查看历史记录,本人写过Mybatis框架的系列文章,包括简单的增删改查,高级用法,都是工作中常用的,JDK源码也写了十几篇,MySQL文系列文章等都可以在历史文章进行查找的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-01,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档