ok
看题:
题目含义很简单,就是给你一个递增的数组,和一个目标值,然后通过数组找到目标值的下标区间就可以了。个人认为不算是中等题,可能是我的算法效率不够高。
代码:
class Solution {
public:
vector<int> searchRange(vector<int>& nums, int target) {
vector<int> t(2,-1);//存放下标区间,初始化
int x=0;//用来计算满足目标值的数目
int y=0;//用来找到第一个满足目标值的下标
for(int i=0;i<nums.size();i++){
if(nums[i]==target)//循环判断,满足目标值就加一
x++;
}
for(int i=0;i<nums.size();i++){
if(nums[i]==target){//找到目标值的初始位置
y=i;
break;
}
}
if(x!=0){//判断数组中是否有满足目标值的数
t[0]=y;//如果有替换下标区间
t[1]=y+x-1;
}
return t;
}
};
ok
就这样