题目1 : 设 将n个 整数存放在数组中,设计一个算法在时间复杂度上和空间复杂度上尽可能简单的算法,让数组顺序向左移动R位,让数组从(0,1,2,3,4,5,6,7)------>(3,4,5,6,7,0,1,2)
解题思路 : 我们在线性代数中碰见过A和它的转制,这就是这个题目的思路;(A(T)B(T))(T)=BA ;(这里的A(T)是指A的转制),我们发现通过这样的转化,可以将AB的位置换一下;
我们就以可以例子为例在做一下:(向左移动3位)
1.先对(0.1.2)进行转制变成(2.1.0),这个过程的效率n/2
2.在对(3,4,5,6,7)进行转制变成(7,6,5,4,3)