小编典典

在数字列表中查找最小数字的递归方法

python

给定此示例列表:

[5, 3, 9, 10, 8, 2, 7]

如何使用递归找到最小数量?答案是2

在进行递归练习时,我在问题文件中发现了这一点。我想不出办法解决这个问题。要找到它,我是否必须先对列表进行排序,然后再递归地做任何事情。有人可以给我找路吗?


阅读 217

收藏
2020-12-20

共1个答案

小编典典

这是以下内容的递归实现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几个数量级。

2020-12-20