LeetCode解题记录(十六)

数组篇 (简单)十六
268.缺失数字
给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。
示例 1:
输入: [3,0,1]
输出: 2

解法一:排序
思路简单,但时间复杂度有点高,且需要处理的细节有点多,缺失的数字到底是第一个,还是中间的,还是尾部的,使得代码不太优雅

class Solution {
    public int missingNumber(int[] nums) {
        Arrays.sort(nums);
        for(int i=0;i<nums.length-1;i++)
            if(nums[i]+1!=nums[i+1])
                return nums[i]+1;     
         if(nums[0]==1)
             return 0;
        else 
            return nums[nums.length-1]+1;
    }
}

解法二:

在这里插入代码片
全部评论

相关推荐

04-29 22:35
门头沟学院 Java
牛友说改了名字能收到offer:旧图新发查看图片
点赞 评论 收藏
分享
04-25 18:13
五邑大学 Java
后来123321:大二两段实习太厉害了,我现在大二连面试都没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务