我正在嘗試使用自適應C++改編的代碼生成置換數字。 Python版本錯誤與python中的排列:超過最大遞歸深度
Line 42: RuntimeError: maximum recursion depth exceeded
爲輸入[5,4,6,2]
。
class Solution:
# @param {integer[]} nums
# @return {integer[][]}
def permute(self, nums):
result = []
if len(nums) == 0:
return result
if len(nums) == 1:
result.append(nums)
return result
if len(nums) == 2:
result.append(nums)
a = nums[0]
b = nums[1]
newrow = [b,a]
result.append(newrow)
return result
for i in range(0, len(nums)):
temp = nums
fixvalue = temp[i]
del(temp[i])
tempresult = self.permute(temp)
for j in range(0, len(tempresult)):
tempresult[j].insert(0,fixvalue)
result.append(tempresult[j])
return result
您的解決方案不適用於輸入'[1,2,3]'。 – Blender