给定此示例列表:
[5, 3, 9, 10, 8, 2, 7]
如何使用递归找到最小数量?答案是2。
2
在进行递归练习时,我在问题文件中发现了这一点。我想不出办法解决这个问题。要找到它,我是否必须先对列表进行排序,然后再递归地做任何事情。有人可以给我找路吗?
这是以下内容的递归实现min:
min
l=[5, 3, 9, 10, 8, 2, 7] def find_min(l,current_minimum = None): if not l: return current_minimum candidate=l.pop() if current_minimum==None or candidate<current_minimum: return find_min(l,candidate) return find_min(l,current_minimum) print find_min(l) >>> 2
请注意,不应在实际程序中使用它,而应将其视为练习。性能将比内置性能差min几个数量级。