Untitled
unknown
plain_text
3 years ago
1.8 kB
10
Indexable
<?php
$arrayOfNumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
// 5, 6, 7, 8, 9
// 5,
// 6
// ,7
$x = 8;
function searchInArray(array &$numbers, $unknown)
{
var_dump($numbers);
if (sizeof($numbers) == 1) {
if ($numbers[array_key_last($numbers)] == $unknown) {
// die('here');
return array_key_last($numbers);
}
// die('here');
return 'paida nashod';
}
// if (sizeof($numbers) == 0) {
// return 'paida nashod';
// }
$pivot = array_key_first($numbers) + intval((array_key_first($numbers) + array_key_last($numbers)) / 2) +1;
var_dump('pivot is '.$pivot);
// die();
if ($numbers[$pivot] > $unknown) {
$startIndex = array_key_first($numbers);
var_dump($pivot, $startIndex);
die('if1');
$endIndex = $pivot;
$xx=array_slice(
$numbers,
$startIndex,
$endIndex - $startIndex
);
return searchInArray(
$xx
// array_values(
// )
,
$unknown
);
} elseif ($numbers[$pivot] < $unknown) {
$startIndex = $pivot;
$endIndex = array_key_last($numbers);
echo 'if2'.$endIndex.' '. $startIndex;
var_dump($startIndex, $endIndex);
// die();
$t = array_slice(
$numbers,
$startIndex,
$endIndex - $startIndex
);
return searchInArray(
$t,
$unknown
);
} elseif ($numbers[$pivot] == $unknown) {
// die('here');
var_dump( 'if3 '. $pivot);
return $pivot;
}
}
$result = searchInArray($arrayOfNumbers, $x);
echo $result;
echo PHP_EOL;
Editor is loading...