Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- def bin_search(array, num, array_offset):
- max = len(array)-1
- min = 0
- result = -1
- index = lambda x: (x+array_offset)%len(array)
- if array[index(min)] <= num <= array[index(max)]:
- for x in range(0, math.ceil(math.log(len(array)))):
- mid = math.floor((min+max)/2)
- if array[index(mid)] is num:
- result = index(mid)
- break
- elif array[index(mid)] < num:
- min = mid + 1
- else:
- max = mid - 1
- return result
- def shift_array(array, offset):
- for i in range(0, offset):
- array.insert(0, array.pop())
- k = 1
- arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- shift_array(arr, k)
- print(arr)
- print(bin_search(arr, 8, k))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement