从0-100排好序的自然数中找出来缺失的数,解法提供

第一种:二分法处理,适用于缺少一个数据的情况和大数据量的情况:

public static double searchOne(int [] nums){

        int L = 0;
        int R = nums.length -1 ;
        double lowNum = 0;
        while (L nowMiddle){
                L = (R - L)/2 + L;
            }
            else {
                R = (R - L) / 2 ;
            }
        }
        return lowNum;
    }

第二种:适用于少数据量,缺少部分数据的情况,例如找出确实数中最小或者最大的数的情况:

public static List searchMore(int [] nums){
        int R = nums.length - 1;
        List list = new ArrayList<>();

        if(nums[R]  == R ){
            //不缺少值
        }
        else {
            for (int i = 0 ;i

 

你可能感兴趣的:(算法结构)