34. Search for a Range

    xiaoxiao2021-03-25  66

    class Solution { public:     vector<int> searchRange(vector<int>& nums, int target) {         //         int left=0,right=nums.size()-1;         vector<int> res{-1,-1};         if(nums.empty()) return res;         //第一次binary search,找左边边界         while(left<=right){             int mid=left+(right-left)/2;             if(nums[mid]>=target){                 right=mid-1;               }else                 left=mid+1;         }         if(left>=nums.size()||nums[left]!=target) return res;                 res[0]=left;                  right=nums.size()-1;         while(left<=right){             int mid=left+(right-left)/2;             if(nums[mid]>target){                 right=mid-1;               }else                 left=mid+1;         }         res[1]=right;         return res;     } };
    转载请注明原文地址: https://ju.6miu.com/read-38086.html

    最新回复(0)