From d5b66f2322645cddb4a726b250375afa0b3f83f2 Mon Sep 17 00:00:00 2001 From: Austin Green Date: Thu, 28 Sep 2017 12:16:56 -0400 Subject: [PATCH] return -1 if target is not in array (python) --- utilities/python/binary_search.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/utilities/python/binary_search.py b/utilities/python/binary_search.py index 1549fa94..bf984a94 100644 --- a/utilities/python/binary_search.py +++ b/utilities/python/binary_search.py @@ -9,14 +9,17 @@ def binary_search(arr, target): left = mid + 1 else: right = mid - 1 - return left + if arr[left] == target: + return left + else: + return -1 print(binary_search([1, 2, 3, 10], 1) == 0) print(binary_search([1, 2, 3, 10], 2) == 1) print(binary_search([1, 2, 3, 10], 3) == 2) print(binary_search([1, 2, 3, 10], 10) == 3) -print(binary_search([1, 2, 3, 10], 9) == 3) -print(binary_search([1, 2, 3, 10], 4) == 3) -print(binary_search([1, 2, 3, 10], 0) == 0) -print(binary_search([1, 2, 3, 10], 11) == 3) -print(binary_search([5, 7, 8, 10], 3) == 0) +print(binary_search([1, 2, 3, 10], 9) == -1) +print(binary_search([1, 2, 3, 10], 4) == -1) +print(binary_search([1, 2, 3, 10], 0) == -1) +print(binary_search([1, 2, 3, 10], 11) == -1) +print(binary_search([5, 7, 8, 10], 3) == -1)