Java教程

牛客机试题-缺失数字

本文主要是介绍牛客机试题-缺失数字,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目

描述
从 0,1,2,…,n 这 n+1 个数中选择 n 个数,选择出的数字依然保持有序,找出这 n 个数中缺失的那个数,要求 O(n) 或 O(log(n)) 并尽可能小。
输入:

[0,1,2,3,4,5,7]

输出:

6

输入:

[0,2,3]

输出:

1

Java代码

public class Solution {

    public int solve (int[] a) {
        if(a == null || a.length == 0) {
            return -1;
        }
        for (int i = 0; i < a.length - 1; i++) {
            if (a[i + 1] - a[i] > 1) return a[i] + 1;
        }
        return a[0] == 0 ? a[a.length - 1] + 1 : 0;
    }
}
这篇关于牛客机试题-缺失数字的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!