class Solution { public: vector<int> searchRange(int A[], int n, int target) { //lower_bound返回第一个大于等于target的iterator的位置 const int lf=distance(A,lower_bound(A,A+n,target)); //upper_bound返回第一个大于target的iterator的位置 //prev返回iterator的前一个位置 //distance(t1,t2)返回t1和t2之间的元素个数 const int rg=distance(A,prev(upper_bound(A,A+n,target))); if(A[lf]!=target){//not found return vector<int>{-1,-1}; }else{ return vector<int>{lf,rg}; } } };