我正在实现max increase subsequence的递归版本,但我认为我也使用了参数。
策略:
元素列表(整数)
长度列表(子序列的最大长度)
引用列表(我应该去查找子序列中下一个元素的元素)
实现:
def search(i,j,elements,references,leng,temp):
if i == len(elements):
return references,leng
if j < 0:
return search(i+1,i,elements,references,leng,0)
if temp < leng[j] and elements[i] > elements[j]:
leng[i] = leng[j] + 1
references[i] = j
temp = leng[j]
return search(i,j-1,elements,references,leng,temp)
第一个电话:
leng = [1]*len(elements)
references = [-1]*len(elements)
references,leng = search(0,0,elements,references,leng,0)
如果您能解释我如何减少参数数量,那将非常有帮助。
感谢。
答案 0 :(得分:1)
你也可以这样做:
{{1}}
您现在可以传递带参数的字典并在函数
中指定它们