Untitled
unknown
python
4 years ago
1.3 kB
6
Indexable
def search_target(nums, target, left, right): if len(nums[left:right]) <= 1: return -1 mid = (left + right) // 2 if nums[mid] == target: return mid if nums[mid] <= nums[right]: if nums[mid] < target <= nums[right]: return search_target(nums, target, mid, right) else: return search_target(nums, target, left, mid) else: if nums[left] <= target < nums[mid]: return search_target(nums, target, left, mid) else: return search_target(nums, target, mid, right) def broken_search(nums, target) -> int: if nums[0] == target: return 0 if nums[len(nums) - 1] == target: return len(nums) - 1 return search_target(nums, target, 0, len(nums) - 1) # def test(array_, target_): # result = broken_search(array_, target_) # return result # # def file_reader(file_address): # with open(file_address, 'r') as reader: # target, second_line = reader.readlines() # array = [int(i) for i in str(second_line).split(' ')] # return int(target), array # # # if __name__ == '__main__': # target, array = file_reader('input.txt') # print(test(array, target))
Editor is loading...