How to check if an array contain consecutive integers in PHP

1 Answer

0 votes
function array_contain_consecutive_integers($arr)  {
    if (count($arr) <= 1) {
        return true;
    }
        
    $min = $arr[0];
    $max = $arr[0];
        
    foreach ($arr as $val) {
        if ($val < $min) {
            $min = $val;
        }
        if ($val > $max) {
            $max = $val;
        }
    }
    if ($max - $min != count($arr) - 1) {
        return false;
    }
    
    $st = array();
    foreach ($arr as $val) {
        if (in_array($val, $st)) {
            return false;
        }
        (!in_array($val,$st) ?  array_unshift($st, $val) : 0);
    }
    
    return true;
}

$arr = array(-2, 3, 0, -1, 4, 2, 1);
        
if (array_contain_consecutive_integers($arr)) {
    echo "Yes";
}
else {
    echo "No";
}




/*
run:

Yes

*/

 



answered Aug 19, 2022 by avibootz

Related questions

1 answer 109 views
1 answer 130 views
1 answer 116 views
2 answers 159 views
1 answer 106 views
...