【问题标题】:i cant insert temp element in the end of array rotation我不能在数组旋转的末尾插入临时元素
【发布时间】:2020-09-19 19:43:30
【问题描述】:
def temprotate(arr, d, n):
    temp = []
    for i in range(d):
        temp.append(arr[i])

    # Function to shift arr by 2
    for i in range(n - d):
        arr[i] = arr[i + d]

    # Function to reinsert temp elements
    for i in range(d):
        a = temp[i]
        for i in range(1, d + 1):
            arr.insert(arr[n - i], a)


def printarr(arr, size):
    for i in range(size):
        print(arr[i], end=' ')


arr = [1, 2, 3, 4, 5, 6, 7]
temprotate(arr, 2, 7)
printarr(arr, 7)

结果 = 3 2 4 5 6 7 6

我不知道插入代码部分出了什么问题!

当我希望它用 temp 中的其他元素替换列表中的元素时,插入函数似乎会向列表中添加元素。

【问题讨论】:

  • 编辑您的问题以准确说明您想要做什么,一些示例输入数据和一些输出数据,说明您得到的与您想要的。

标签: python arrays data-structures


【解决方案1】:

不清楚你想做什么,但是:

# Function to reinsert temp elements, AT THE END
    for i in range(d):
        a = temp[i]
        arr[(n-d)+i] = a

# Function to reinsert temp elements,IN SAME PLACE
    for i in range(d):
        a = temp[i]
        arr.insert(i, a)

【讨论】:

  • 对不起,我在 stackoverflow 上的第一篇文章!
  • 您的代码有效,谢谢!我的目标是在最后插入,你能告诉我我在代码中做错了什么吗!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多