Any thoughts?
def find_closest_elements(arr, K, X):
i = max(0, bin_search(arr, X) - K)
for j in range(i + K, len(arr)):
if abs(X - arr[j]) < abs(X - arr[i]):
i += 1
else:
break
return arr[i: i + K]
def bin_search(arr, X):
start = 0
end = len(arr) - 1
while start <= end:
mid = start + (end - start) // 2
if arr[mid] == X:
return mid
elif arr[mid] > X:
end = mid - 1
else:
start = mid + 1
return start
Type your question above this line.
Course: https://www.educative.io/collection/5668639101419520/5671464854355968
Lesson: https://www.educative.io/collection/page/5668639101419520/5671464854355968/5474975244877824