Maison > Questions et réponses > le corps du texte
![Téléchargement de photos...]
Pour trouver l'un des 100 nombres, logiquement parlant, cela devrait prendre au maximum 7 étapes. Pourquoi seulement 15 étapes ?
習慣沉默2017-05-16 13:05:53
La première exécution de $flag = 50 utilise la logique else, mais $i++ et $low+1 ne sont pas affectés à $low. Par conséquent, continuez à boucler ailleurs
Modifier la ligne 24 $low= $low+1;
巴扎黑2017-05-16 13:05:53
function binarySearch($array, $val) {
$count = count($array);
$low = 0;
$high = $count - 1;
while ($low <= $high) {
$mid = intval(($low + $high) / 2);
if ($array[$mid] == $val) {
return $mid;
}
if ($array[$mid] < $val) {
$low = $mid + 1;
} else {
$high = $mid - 1;
}
}
return false;
}