题目
题解
- 通过末尾进行二分查找,不属于严格意义的二分查找
代码
class Solution {
public:
int search(vector<int>& nums, int target) {
int n=nums.size();
if(!n) return -1;
if(nums[n-1]==target)
return n-1;
else if(nums[n-1]>target){
int tag=n-2;
while(tag>=0){
if(nums[tag]==target) return tag;
tag--;
}
}
else if(nums[n-1]<target){
int tag=0;
while(tag<=n-1){
if(nums[tag]==target) return tag;
tag++;
}
}
return -1;
}
};