- class Solution {
- /**[email protected]A : an integer sorted array[email protected]target : an integer to be inserted
- *return : a list of length 2, [index1, index2]*/
- public:
- vector<int> searchRange(vector<int> &A,int target) {
- // write your code here
- //find first target's positionvector<int> result;
- if(A.size()==0)
- return{-1,-1};
- intstart=0,end=A.size()-1;
- while(start+1<end){
- intmid=start+(end-start)/2;
- if(A[mid]==target){
- end=mid;
- }
- else if(A[mid]<target){
- start=mid;
- }
- else{
- end=mid;
- }
- }
- if(A[start]==target){
- result.push_back(start);
- }
- else if(A[end]==target){
- result.push_back(end);
- }
- else{
- result.push_back(-1);
- }
- //find last target's position start=0;
- end=A.size()-1;
- while(start+1<end){
- intmid=start+(end-start)/2;
- if(A[mid]==target){
- start=mid;
- }
- else if(A[mid]<target){
- start=mid;
- }
- else{
- end=mid;
- }
- }
- if(A[end]==target){
- result.push_back(end);
- }
- else if(A[start]==target){
- result.push_back(start);
- }
- else{
- result.push_back(-1);
- }
- return result;
- }
- };
来源: http://www.bubuko.com/infodetail-2113913.html