From 0795499c3a38aa86ae10661df3737286db60494e Mon Sep 17 00:00:00 2001 From: Kcstring Date: Wed, 29 Apr 2026 01:05:54 +0800 Subject: [PATCH 1/2] searches: improve linear search type hints --- searches/linear_search.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/searches/linear_search.py b/searches/linear_search.py index 8adb4a7015f0..cf74ee4b952d 100644 --- a/searches/linear_search.py +++ b/searches/linear_search.py @@ -8,8 +8,10 @@ python3 linear_search.py """ +from collections.abc import Sequence -def linear_search(sequence: list, target: int) -> int: + +def linear_search[T](sequence: Sequence[T], target: T) -> int: """A pure Python implementation of a linear search algorithm :param sequence: a collection with comparable items (sorting is not required for @@ -33,7 +35,9 @@ def linear_search(sequence: list, target: int) -> int: return -1 -def rec_linear_search(sequence: list, low: int, high: int, target: int) -> int: +def rec_linear_search[T]( + sequence: Sequence[T], low: int, high: int, target: T +) -> int: """ A pure Python implementation of a recursive linear search algorithm From f3bde83c7fb517ce0b7556d029c1fcd43beff5e1 Mon Sep 17 00:00:00 2001 From: Kcstring Date: Wed, 29 Apr 2026 02:15:24 +0800 Subject: [PATCH 2/2] searches: format linear search type hints --- searches/linear_search.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/searches/linear_search.py b/searches/linear_search.py index cf74ee4b952d..75d3f397a71d 100644 --- a/searches/linear_search.py +++ b/searches/linear_search.py @@ -35,9 +35,7 @@ def linear_search[T](sequence: Sequence[T], target: T) -> int: return -1 -def rec_linear_search[T]( - sequence: Sequence[T], low: int, high: int, target: T -) -> int: +def rec_linear_search[T](sequence: Sequence[T], low: int, high: int, target: T) -> int: """ A pure Python implementation of a recursive linear search algorithm