📌  相关文章
📜  Python|将数组反转到给定位置

📅  最后修改于: 2022-05-13 01:54:36.320000             🧑  作者: Mango

Python|将数组反转到给定位置

给定一个数组 arr[] 和数组 k 中的一个位置。编写一个函数名 reverse (a[], k),使其反转子数组 arr[0..k-1]。使用的额外空间应该是 O(1),时间复杂度应该是 O(k)。

例子:

Input: arr[] = {1, 2, 3, 4, 5, 6}
       k = 4

Output:  arr[] = {4, 3, 2, 1, 5, 6} 

这个问题有现有的解决方案,请参考 Reverse an array up to a given position 链接。我们将在Python中快速解决这个问题。

# Program to Reverse an array 
# upto a given position 
  
def reverseArrayUptoK(input, k):
  
    # reverse list starting from k-1 position 
    # and split remaining list after k
    # concat both parts and print
    # input[k-1::-1] --> generate list starting
    # from k-1 position element till first 
    # element in reverse order
    print (input[k-1::-1] + input[k:])
  
# Driver program
if __name__ == "__main__":
    input = [1, 2, 3, 4, 5, 6]
    k = 4
    reverseArrayUptoK(input, k)

输出:

[4, 3, 2, 1, 5, 6]