水題一道:
Given a sorted array of integers, find the starting and ending position of a given target value.
Your algorithm’s runtime complexity must be in the order of O(log n).
If the target is not found in the array, return [-1, -1].
For example,
Given [5, 7, 7, 8, 8, 10] and target value 8,
return [3, 4].
AC的C++代碼如下:
vector<int> searchRange(vector<int>& nums, int target) {
vector<int> ret;
int left = -1, right = -1;
for(int i=0; i<nums.size(); i++){
if(nums[i] == target && left < 0){
left = i;
right = left;
}else if(nums[i] == target){
right = i;
}
}
ret.push_back(left);
ret.push_back(right);
return ret;
}