2016-11-13 293 views
0

我必须编写一个函数,它使用递归来确定数组中的最小数。但我不知道如何解决这个问题,因为递归并不是我正在学习的入门课程的一部分,但他们想给我们一些启示。使用递归函数(Python)查找数组中的最小整数

到目前为止,我有以下想法(但它不依赖于递归,我还没有做出它经历了整个阵列):

  if numbers[0] <= numbers[1]: 
       del numbers[1] 
      else: 
       del numbers[0] 

其中数字是是一个数组,例如数= [2,1,3,4]。对于那个例子,我希望函数返回1作为数组中最小的整数。但是我怎么去使用递归函数来解决这个问题呢?

PS:我们使用Python 3

+3

尝试使用以下事实不建议:array'的'最低是两个数字的最低:'数组[0]'和其他地区的最低数组(即'array [1:]')。 –

+0

请参阅http://stackoverflow.com/questions/35282042/find-the-second-smallest-number-in-a-list-using-recursion?rq=1。如果这没有帮助,我可以提供解决方案的大纲(因为这是作业) – themistoklik

回答

0

您可以使用内置函数(分钟),但如果你真的想迭代,你也可以使用一个用于cicle。变量“i”遍历数组,并在迭代中获取每个值。您还可以使用,而圈子中来遍历,但是在这种情况下

numbers=[2,1,3,4] 

#using min builtin function 
print(min(numbers))  

#using for 
low_num = numbers[0] 
for i in numbers: 
    if i < low_num: 
     low_num = i 
print(low_num) 
+0

递归在哪里? –

+0

+它总是会返回'arr [0]'或'1'。 –

+0

@ImanolLuengo你是对的,我拼错了我。固定,感谢观察 – evanbrs