Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- int start(vector < int >& nums, int target){
- int l = 0, r = nums.size() - 1, best = -1;
- while(l <= r){
- int m = l + (r - l) / 2;
- (nums[m] >= target ? r = m - 1, best = m : l = m + 1);
- }
- if(best == -1) return best;
- else return (nums[best] == target ? best : -1);
- }
- int end(vector < int >& nums, int target){
- int l = 0, r = nums.size() - 1, best = -1;
- while(l <= r){
- int m = l + (r - l) / 2;
- (nums[m] <= target ? l = m + 1, best = m : r = m - 1);
- }
- if(best == -1) return best;
- else return (nums[best] == target ? best : -1);
- }
- vector<int> searchRange(vector<int>& nums, int target) {
- return {start(nums, target), end(nums, target)};
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement