Advertisement
Luckus

code

Oct 14th, 2023
1,049
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.98 KB | None | 0 0
  1. class Solution:
  2.     def searchRange(self, nums: List[int], target: int) -> List[int]:
  3.         small_value, big_value = -1, -1
  4.         left, right = 0, len(nums) - 1
  5.  
  6.         while left <= right:
  7.             middle = (left + right) // 2
  8.             if nums[middle] < target:
  9.                 left = middle + 1
  10.             if nums[middle] > target:
  11.                 right = middle - 1
  12.             if nums[middle] == target:
  13.                 small_value = middle
  14.                 big_value = middle
  15.                 break
  16.  
  17.         left_pointer, right_pointer = small_value, big_value
  18.  
  19.         while left_pointer >= 0 and nums[left_pointer] == target:
  20.             small_value = left_pointer
  21.             left_pointer -= 1
  22.  
  23.         while (
  24.             right_pointer != -1
  25.             and right_pointer < len(nums)
  26.             and nums[right_pointer] == target
  27.         ):
  28.             big_value = right_pointer
  29.             right_pointer += 1
  30.  
  31.         return [small_value, big_value]
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement