给定一个数组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