leetcode 704
leetcode 704
class Solution {
/**
* @param Integer[] $nums
* @param Integer $target
* @return Integer
*/
function search($nums, $target) {
$hight = count($nums) - 1;
$low = 0;
while($low <= $hight ) {
$mid = floor(($hight - $low) / 2) + $low; //5
if($nums[$mid] === $target) {
return $mid;
} else if($nums[$mid] > $target) {
$hight = $mid - 1;
} else {
$low = $mid + 1;
}
}
return -1;
}
}
leetcode 278
leetcode 278
class Solution extends VersionControl {
/**
* @param Integer $n
* @return Integer
*/
function firstBadVersion($n) {
if($n === 1) {
return 1;
}
$low = 1;
$hight = $n;
while ($low < $hight) {
$mid = floor($low + ($hight - $low) / 2);
if($this->isBadVersion($mid)) {
$hight = $mid;
} else {
$low = $mid + 1;
}
}
return $low;
}
}
leetcode 35
leetcode 35
class Solution {
/**
* @param Integer[] $nums
* @param Integer $target
* @return Integer
*/
function searchInsert($nums, $target) {
$low = 0;
$hight = count($nums) - 1;
while ($low <= $hight) {
$mid = floor($low + ($hight - $low) / 2);
if($nums[$mid] == $target) {
return $mid;
} else if($nums[$mid] > $target) {
$hight = $mid - 1;
$lastOffset = false;
} else {
$low = $mid + 1;
$lastOffset = true;
}
}
$lastOffset && $mid = $mid + 1;
return $mid;
}
}
本文链接:
http://zimu.devorz.com/archives/25/