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;
    }
}

解法二:

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

相关推荐

求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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