Advertisement
7oSkaaa

Find First and Last Position of Element in Sorted Array

Aug 10th, 2021
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int start(vector < int >& nums, int target){
  4.         int l = 0, r = nums.size() - 1, best = -1;
  5.         while(l <= r){
  6.             int m = l + (r - l) / 2;
  7.             (nums[m] >= target ? r = m - 1, best = m : l = m + 1);
  8.         }
  9.         if(best == -1) return best;
  10.         else return (nums[best] == target ? best : -1);
  11.     }
  12.    
  13.     int end(vector < int >& nums, int target){
  14.         int l = 0, r = nums.size() - 1, best = -1;
  15.         while(l <= r){
  16.             int m = l + (r - l) / 2;
  17.             (nums[m] <= target ? l = m + 1, best = m : r = m - 1);
  18.         }
  19.         if(best == -1) return best;
  20.         else return (nums[best] == target ? best : -1);
  21.     }
  22.    
  23.     vector<int> searchRange(vector<int>& nums, int target) {
  24.         return {start(nums, target), end(nums, target)};
  25.     }
  26. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement