classSolution { public: vector<int> searchRange(vector<int> &nums, int target) { int n = nums.size(); int left = 0, right = n - 1; int mid;
vector<int> res; int index = -1; while (left <= right) { //查找左边界 mid = left + (right - left) / 2; if (nums[mid] >= target) { right = mid - 1; } else { left = mid + 1; } if (nums[mid] == target) index = mid; }
res.push_back(index);
left = 0; right = n - 1; index = -1; while (left <= right) { // 右边界 mid = left + (right - left) / 2; if (nums[mid] <= target) { left = mid + 1; } else { right = mid - 1; } if (nums[mid] == target) index = mid; } res.push_back(index);