1. 程式人生 > >LeetCode第34題 Find First and Last Position of Element in Sorted Array(在排序陣列中查詢元素的第一個和最後一個位置)

LeetCode第34題 Find First and Last Position of Element in Sorted Array(在排序陣列中查詢元素的第一個和最後一個位置)

class Solution {
public:
    vector<int> searchRange(vector<int>& nums, int target) {
        int len = nums.size();
        int i = 0, j = len;
        while(i < j){
            int temp = (i + j)/2;
            if(target <= nums[temp])j = temp;
            else i = temp + 1;
        }
        int left = i;
        i = 0;
        j = len;
        while(i < j){
            int temp = (i + j)/2;
            if(target < nums[temp])j = temp;
            else i = temp + 1;
        }
        int right = i;
        return left == right ? vector<int>{-1,-1} : vector<int>{left,right-1};
    }
};