假设你有一个数组 s[1..n] 和一个过程 reverse (s, i, j) ,它颠倒了位置 i 和 j (两者都包括)之间 a 中元素的顺序。以下序列做什么,其中 1 <= k <= n:
reverse(s, 1, k) ;
reverse(s, k + 1, n);
reverse(s, l, n);
(A) 将s 向左旋转 k 个位置
(B)叶 s 不变
(C)反转 s 的所有元素
(D)以上都不是答案:(一)
说明:上述 3 次反转对任意 k 的影响相当于将大小为 n 的数组向左旋转了 k。详情请看这个帖子。
如果我们将数组旋转 n 次,k = 1 到 n,我们会得到相同的数组。
这个问题的测验