Skip to content

Instantly share code, notes, and snippets.

@anish000kumar
Created September 13, 2020 00:54
Show Gist options
  • Save anish000kumar/18d21f9f9b1cf4727e98016d632bc4c6 to your computer and use it in GitHub Desktop.
Save anish000kumar/18d21f9f9b1cf4727e98016d632bc4c6 to your computer and use it in GitHub Desktop.
def getClosest(nums, k):
if k < nums[0]: return nums[0]
if k > nums[len(nums)-1]: return nums[len(nums)-1]
left, right = 0 , len(nums)-1
while left <= right:
mid = left + (right-left)//2
if nums[mid] > k:
right = mid-1
elif nums[mid] < k:
left = mid+1
else:
return nums[mid]
return nums[right] if (nums[left]-k) > (k-nums[right]) else nums[left]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment