From a8d2f4161f2d52bcbbf0b542f37b6f6e319d2391 Mon Sep 17 00:00:00 2001 From: Lucas Ma <7184042+pony-maggie@users.noreply.github.com> Date: Mon, 15 Jun 2026 08:05:42 +0800 Subject: [PATCH] fix: handle missing lower bound in exponential search --- searches/exponential_search.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/searches/exponential_search.py b/searches/exponential_search.py index ed09b14e101c..d38137b60415 100644 --- a/searches/exponential_search.py +++ b/searches/exponential_search.py @@ -81,10 +81,19 @@ def exponential_search(sorted_collection: list[int], item: int) -> int: 1 >>> exponential_search([0, 5, 7, 10, 15], 6) -1 + >>> exponential_search([], 1) + -1 + >>> exponential_search([1, 1], -1) + -1 """ if list(sorted_collection) != sorted(sorted_collection): raise ValueError("sorted_collection must be sorted in ascending order") + if not sorted_collection: + return -1 + + if sorted_collection[0] > item: + return -1 if sorted_collection[0] == item: return 0