【问题标题】:Recursion - Inserting a temp value to a sorted array递归 - 将临时值插入排序数组
【发布时间】:2021-03-12 01:14:57
【问题描述】:

我有一个递归函数insert,它接受一个排序数组和一个临时值并将临时值附加到正确的位置。

例子:

arr = [1,3,5,7]

温度 = 2

arr 应更改为 [1,2,3,5,7]。但是,它不会在正确的位置附加值 2。

def insert(arr,temp):
if len(arr) == 0 or arr[len(arr)-1] <= temp or arr == []:
    arr.append(temp)
    return
val = arr[len(arr)-1]
arr = arr[:len(arr)-1]
insert(arr,temp)
arr.append(val)
return

【问题讨论】:

    标签: arrays sorting recursion


    【解决方案1】:

    您缺少返回值,因此当您调用您的函数时,实际上并没有从中检索到任何值。

    def insert(arr,temp):
        if len(arr) == 0 or arr[len(arr)-1] <= temp:
            arr.append(temp)
            return arr
        val = arr[len(arr)-1]
        arr = arr[:len(arr)-1]
        arr = insert(arr,temp)
        arr.append(val)
        return arr
    

    这应该可以解决它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-17
      • 1970-01-01
      • 2020-07-30
      • 2018-07-17
      • 2020-11-15
      • 1970-01-01
      相关资源
      最近更新 更多