给定一个排好序的数组,然后求出丢失的数字

Posted 冬马党

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定一个排好序的数组,然后求出丢失的数字相关的知识,希望对你有一定的参考价值。

思路

只要两个相邻数的差不是1,则大的减1即为缺少的数

public class OptMain {
    public static void main(String[] args) {
        int[] arr = {2,4,5,6,7,8};
        missNum(arr);
    }
    // 给定一个排好序的数组,然后求出丢失的数字
    private static void missNum(int[] arr){
        int len = arr.length - 1;
        if(len < 1){
            System.out.println("数组个数少于2个,数组不合法");
            return;
        }
        for (int i = len; i > 0 ; i--) {
            int j = arr[i] - arr[i-1];
            if(j != 1){
                System.out.println("缺少数字为:"+(arr[i] - 1));
                return;
            }
        }
        System.out.println("没有找到缺少的数字");
    }
}

 

以上是关于给定一个排好序的数组,然后求出丢失的数字的主要内容,如果未能解决你的问题,请参考以下文章

Java 对已经排好序的数组进行分组。

有一以排好序的数组(一维,从小到大),现插入一个元素,保持该数组仍然有序

第22题有一个已经排好序的数组

实现2个排好序的子序列合并

数字在排序数组中出现的次数

合并两个已经排好序的不等长的数组