新建一个同样大小的数组,对于旧数组中的每个元素,计算其移动后的位置,并将其保存在新数组中。
class Solution {
public:
/**
* 旋转数组
* @param n int整型 数组长度
* @param m int整型 右移距离
* @param a int整型vector 给定数组
* @return int整型vector
*/
vector<int> solve(int n, int m, vector<int>& a) {
vector<int> vec(a.size(),0);
for(int i=0;i<a.size();i++){
int pos=(i+m)%a.size();
vec[pos]=a[i];
}
return vec;
}
};