【问题标题】:Finding the smallest integer in an array using a recursive function (Python) [duplicate]使用递归函数(Python)查找数组中的最小整数
【发布时间】:2017-03-27 04:03:01
【问题描述】:

我必须编写一个使用递归的函数来确定数组中的最小数字。但我不知道如何解决这个问题,因为递归并不是我正在学习的入门课程的一部分,但他们想让我们接触到它。

到目前为止,我有以下想法(但它不依赖递归,并且我没有让它遍历整个数组):

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

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

PS:我们使用 Python 3。

【问题讨论】:

  • 尝试使用以下事实:array 的最小值是两个数字的最小值:array[0] 和数组其余部分的最小值(即array[1:])。
  • stackoverflow.com/questions/35282042/…。如果这没有帮助,我可以提供解决方案的大纲(因为这是家庭作业)

标签: python arrays algorithm function recursion


【解决方案1】:

你可以使用内置函数(min),但如果你真的想迭代,你也可以使用for cicle。变量“i”遍历数组并获取迭代中的每个值。您也可以使用 while cicles 进行迭代,但不建议在这种情况下使用

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)

【讨论】:

  • 递归在哪里?
  • + 它总是返回arr[0]1
  • @ImanolLuengo 你说得对,我把 i 拼错了 1。已修复,感谢您的观察
猜你喜欢
  • 2021-12-23
  • 2013-12-06
  • 1970-01-01
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
  • 2021-04-17
  • 1970-01-01
  • 2015-09-03
相关资源
最近更新 更多