题目中给出的是一个数组,这个数组在右移 k 个位置之后会变成什么样子。
我们设这个数组的元素个数为 n,在右移 k 个位置之后,会发现会走了一个完整的圈,因此我们可以得到这个结论:在这个过程中,会走 n 个元素,然后回到起点。
由于最终回到了起点,故该过程恰好走了整数数量的圈,不妨设为 aa 圈;再设该过程总共遍历了 bb 个元素。因此,我们有 an=bkan=bk,即 anan 一定为 n,kn,k 的公倍数。
又因为我们在第一次回到起点时就结束,因此 aa 要尽可能小,故 anan 就是 n,kn,k 的最小公倍数 lcm(n,k),因此 bb 就为 lcm(n,k)/k。