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]