From 4b99885eb8b1fb6dfe28f562196f5fe38b6ec649 Mon Sep 17 00:00:00 2001 From: maheshwari Date: Mon, 9 Oct 2023 22:02:17 +0530 Subject: [PATCH 1/3] fixed_incorrect_test_combination_sum --- backtracking/combination_sum.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/backtracking/combination_sum.py b/backtracking/combination_sum.py index 3c6ed81f44f0..4adb93284544 100644 --- a/backtracking/combination_sum.py +++ b/backtracking/combination_sum.py @@ -47,16 +47,26 @@ def combination_sum(candidates: list, target: int) -> list: >>> combination_sum([-8, 2.3, 0], 1) Traceback (most recent call last): ... - RecursionError: maximum recursion depth exceeded + ValueError: All elements in candidates must be non-negative. + >>> combination_sum([], 1) + Traceback (most recent call last): + ... + ValueError: Candidates list should not be empty """ path = [] # type: list[int] answer = [] # type: list[int] + if not candidates: + raise ValueError("Candidates list should not be empty") + + if any(x < 0 for x in candidates): + raise ValueError("All elements in candidates must be non-negative.") + backtrack(candidates, path, answer, target, 0) return answer def main() -> None: - print(combination_sum([-8, 2.3, 0], 1)) + print(combination_sum([], 1)) if __name__ == "__main__": From 0975b243234d75c140bdd99e26350cc5ac9938ec Mon Sep 17 00:00:00 2001 From: maheshwari Date: Mon, 9 Oct 2023 22:06:42 +0530 Subject: [PATCH 2/3] reverting fn arg --- backtracking/combination_sum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backtracking/combination_sum.py b/backtracking/combination_sum.py index 4adb93284544..afcb7fb33501 100644 --- a/backtracking/combination_sum.py +++ b/backtracking/combination_sum.py @@ -66,7 +66,7 @@ def combination_sum(candidates: list, target: int) -> list: def main() -> None: - print(combination_sum([], 1)) + print(combination_sum([-8, 2.3, 0], 1)) if __name__ == "__main__": From ba224962ad48a837f6d5fc415813472593f323dc Mon Sep 17 00:00:00 2001 From: maheshwari Date: Mon, 9 Oct 2023 22:17:57 +0530 Subject: [PATCH 3/3] ruff --- backtracking/combination_sum.py | 1 - 1 file changed, 1 deletion(-) diff --git a/backtracking/combination_sum.py b/backtracking/combination_sum.py index afcb7fb33501..91d765973b5a 100644 --- a/backtracking/combination_sum.py +++ b/backtracking/combination_sum.py @@ -60,7 +60,6 @@ def combination_sum(candidates: list, target: int) -> list: if any(x < 0 for x in candidates): raise ValueError("All elements in candidates must be non-negative.") - backtrack(candidates, path, answer, target, 0) return answer