Untitled
unknown
plain_text
a year ago
1.8 kB
3
Indexable
Never
<?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;