01G 局限
缓存
循环移位
数组就地循环移位. 1,2,3,4,a,b,c -> a,b,c,1,2,3,4
蛮力算法
每次移动一位 O(n*k)
迭代法
一次挪到位,每次只能移好余数相同的数字(同余数)。故经过多组迭代才能就位。每次移动一位 O(2n)
反转法
0 ->->->->->->->->-> K =>=>=>=>=>=>=>=> n
<-<-<-<-<-<-<-<-<-<- 0 <=<=<=<=<=<=<=<= k n
K =>=>=>=>=>=>=>=> 0 ->->->->->->->->-> n
复杂度为 O(3n), 比迭代法看上去慢,但因为是连续访问,可以充分利用操作系统缓存,故速度更快。