題意:
給出有序序列,查找target在序列中出現的下標區間。
思路:
熟練使用C++的upper_bound和lower_bound……
代碼:
class Solution {
public:
vector<int> searchRange(vector<int> &nums, int target) {
int l = lower_bound(nums.begin(), nums.end(), target) - nums.begin();
if (l == nums.size() || nums[l] != target) {
return vector<int> {-1, -1};
}
int r = upper_bound(nums.begin(), nums.end(), target) - nums.begin();
return vector<int> {l, r - 1};
}
};