diff --git a/03_recursion/python/05_binary_search_recursive.py b/03_recursion/python/05_binary_search_recursive.py index 7791559..3ed0b23 100644 --- a/03_recursion/python/05_binary_search_recursive.py +++ b/03_recursion/python/05_binary_search_recursive.py @@ -1,15 +1,18 @@ def binary_search(arr, target): if not arr: - return -1 - if len(arr) == 1 and arr[0] == target: - return arr[0] - if len(arr) == 1 and arr[0] != target: return -1 - low = 0 - high = len(arr) - 1 + + low = 0 + high = len(arr) - 1 mid = (low + high) // 2 - if arr[mid] > target: + if arr[mid] == target: + return target + elif arr[mid] > target: return binary_search(arr[:mid], target) else: - return binary_search(arr[mid+1:], target) \ No newline at end of file + return binary_search(arr[mid+1:], target) + + +print(binary_search([6, 7, 8, 9, 10], 8)) +print(binary_search([6, 7, 8, 9, 10], 6))