数组循环移位(从中间某个数开始往后循环到开头,再到某个数的前一个数)
解释一下循环移位
就是类似我想把 [1,2,3,4,5,6,7,8] 变成 [4,5,6,7,8,1,2,3] 这样。
c++
vector<int> ans;
int start = 4, n = 8; //确定数组个数n,和开始位置的数
for(int i = 1; i < n+1; ++i) {
ans.push_back(i);
}
reverse(ans.begin(), ans.begin() + start);
reverse(ans.begin(), ans.end());
reverse(ans.begin(), ans.begin() + n - start);
python
ans = [1,2,3,4,5,6,7,8]
start = 4
fealAns = ans[start :] + ans[: start]