class Solution {
/**
* @param Integer[] $nums
* @param Integer $target
* @return Integer[]
*/
function searchRange($nums, $target) {
if (empty($nums)) {
return [-1, -1];
}
$left = 0;
$right = array_key_last($nums);
$start = -1;
$end = -1;
while ($left <= $right) {
$mid = floor($left + ($right - $left) / 2);
if ($nums[$mid] > $target) {
$right = $mid - 1;
} elseif ($nums[$mid] < $target) {
$left = $mid + 1;
} else {
$start = $left;
$end = $right;
while ($target != $nums[$end]) {
--$end;
}
while ($target != $nums[$start]) {
++$start;
}
return [$start, $end];
}
}
return [$start, $end];
}
}