[英]backtrack: How can I change the following code
如何更改以下代碼,以便不必將 set1 和 set2 傳遞給 function?
此 function 查找是否可以將數組划分為兩個子集,使得兩個子集中的元素之和相等。
def canPartition(self, nums: List[int]) -> bool:
def backtrack(i, set1, set2):
if i == len(nums):
if set1 == set2:
return True
else:
return False
path1 = backtrack(i+1, set1 + nums[i], set2)
path2 = backtrack(i+1, set1, set2 + nums[i])
return path1 or path2
return backtrack(0, 0, 0)
我假設您的意思是“在原始通話中”。 只需使用默認參數。
def canPartition(self, nums: List[int]) -> bool:
def backtrack(i, set1=0, set2=0):
if i == len(nums):
return set1 == set2
path1 = backtrack(i+1, set1 + nums[i], set2)
path2 = backtrack(i+1, set1, set2 + nums[i])
return path1 or path2
return backtrack(0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.