From 1c3a0007adb7cffa000ca4a2d29b7ed7ea5d8a2e Mon Sep 17 00:00:00 2001 From: Vidhu Arora Date: Fri, 31 Jul 2026 16:07:55 +0530 Subject: [PATCH 1/4] fix(sorts): raise ValueError for negative inputs in radix_sort (#14950) --- sorts/radix_sort.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sorts/radix_sort.py b/sorts/radix_sort.py index 1dbf5fbd1365..47c5dd8720e3 100644 --- a/sorts/radix_sort.py +++ b/sorts/radix_sort.py @@ -21,7 +21,17 @@ def radix_sort(list_of_ints: list[int]) -> list[int]: True >>> radix_sort([1,100,10,1000]) == sorted([1,100,10,1000]) True + >>> radix_sort([-1, 2, 3]) + Traceback (most recent call last): + ... + ValueError: All elements in list_of_ints must be non-negative integers """ + if not list_of_ints: + return [] + + if any(i < 0 for i in list_of_ints): + raise ValueError("All elements in list_of_ints must be non-negative integers") + placement = 1 max_digit = max(list_of_ints) while placement <= max_digit: From 10a0867192bae302c2903d6d2385171bb049e73b Mon Sep 17 00:00:00 2001 From: Vidhu Arora Date: Fri, 31 Jul 2026 16:16:22 +0530 Subject: [PATCH 2/4] fix(ci): remove unused noqa directive in sequential_minimum_optimization.py --- machine_learning/sequential_minimum_optimization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machine_learning/sequential_minimum_optimization.py b/machine_learning/sequential_minimum_optimization.py index 625fc28fe60c..e96f06d6f080 100644 --- a/machine_learning/sequential_minimum_optimization.py +++ b/machine_learning/sequential_minimum_optimization.py @@ -451,7 +451,7 @@ def test_cancer_data(): print("Hello!\nStart test SVM using the SMO algorithm!") # 0: download dataset and load into pandas' dataframe if not os.path.exists(r"cancer_data.csv"): - request = urllib.request.Request( # noqa: S310 + request = urllib.request.Request( CANCER_DATASET_URL, headers={"User-Agent": "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)"}, ) From 9e881845ef6a6518b22365f47d540f87d1e6a8c9 Mon Sep 17 00:00:00 2001 From: Vidhu Arora Date: Fri, 31 Jul 2026 22:45:57 +0530 Subject: [PATCH 3/4] fix(ci): add noqa: S310 to urllib.request.Request for pre-commit --- machine_learning/sequential_minimum_optimization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machine_learning/sequential_minimum_optimization.py b/machine_learning/sequential_minimum_optimization.py index e96f06d6f080..625fc28fe60c 100644 --- a/machine_learning/sequential_minimum_optimization.py +++ b/machine_learning/sequential_minimum_optimization.py @@ -451,7 +451,7 @@ def test_cancer_data(): print("Hello!\nStart test SVM using the SMO algorithm!") # 0: download dataset and load into pandas' dataframe if not os.path.exists(r"cancer_data.csv"): - request = urllib.request.Request( + request = urllib.request.Request( # noqa: S310 CANCER_DATASET_URL, headers={"User-Agent": "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)"}, ) From 0b236eec8f06c4ad0939e90cf2195e244327f541 Mon Sep 17 00:00:00 2001 From: Vidhu Arora Date: Fri, 31 Jul 2026 22:48:11 +0530 Subject: [PATCH 4/4] fix(ci): add noqa: S310, RUF100 for compatibility between ruff versions --- machine_learning/sequential_minimum_optimization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machine_learning/sequential_minimum_optimization.py b/machine_learning/sequential_minimum_optimization.py index 625fc28fe60c..975a0172363d 100644 --- a/machine_learning/sequential_minimum_optimization.py +++ b/machine_learning/sequential_minimum_optimization.py @@ -451,7 +451,7 @@ def test_cancer_data(): print("Hello!\nStart test SVM using the SMO algorithm!") # 0: download dataset and load into pandas' dataframe if not os.path.exists(r"cancer_data.csv"): - request = urllib.request.Request( # noqa: S310 + request = urllib.request.Request( # noqa: S310, RUF100 CANCER_DATASET_URL, headers={"User-Agent": "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)"}, )