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

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

null

例如:

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

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

此问题已有解决方案,请参考 将阵列反转到给定位置 链接我们将用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]
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享