/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var searchRange = function (nums, target) {
if (!nums.length) return [-1, -1]
let l = 0,
r = nums.length - 1,
mid = 0
while (l <= r) {
mid = Math.floor(l + (r - l) / 2)
if (nums[mid] === target) {
let i = mid - 1
j = mid + 1
while (nums[i] === target) {
i--
}
while (nums[j] === target) {
j++
}
return [i + 1, j - 1]
}
if (nums[mid] > target) {
r = mid - 1
} else {
l = mid + 1
}
}
return [-1, -1]
};