- 刚开始老老实实推了半天,半天规律找不来
- 个人认为需要整体得看一看
- 其实,只要关注某个index i,当它经过变换,又回来的时候,就说明完成要求了
class Solution {
public:
int reinitializePermutation(int n) {
int init = 1;
int cnt=0;
int i=1;
while(cnt==0 || init !=i){
cnt++;
if(i%2==0) i=i/2;
else i=n/2+(i-1)/2;
}
return cnt;
}
};