Find the first missing number in a sequence of numbers

前端 未结 5 743
猫巷女王i
猫巷女王i 2021-01-28 13:57

It\'s the second day I try to find a solution for this problem.

I have an array.

$datas;

$datas[0]; // 8000
$datas[1]; // 8001
$datas[2]; // 8003
$datas         


        
5条回答
  •  旧时难觅i
    2021-01-28 14:04

    You can use array_diff to find the missing value.
    I create a new array with values from min of $datas to max of $datas to compare against.
    The return is what is missing.

    $arr = range(min($datas),max($datas));
    
    Var_dump(min(array_diff($arr,$datas)));
    

    https://3v4l.org/ZmLAU

    Can be a one liner too:

    Var_dump(min(array_diff(range(min($datas),max($datas)), $datas)));
    

提交回复
热议问题