/**
* ,有一个整数数组,现要求实现这个整数数组的循环右移。
*
* 如:1,2,3,4,5 则循环右移两位后结果是:4,5,1,2,3。
* @return
*/
public static int[] move(int[] a,int step){
int lenght=a.length;
step=step%lenght;
int temp[]=new int[step];
//保存需要置前的数据
for(int i=0;i<step;i++){
temp[i]=a[lenght-step+i];
}
//其余的数据向后移
for(int i=lenght-step-1;i>=0;i--){
a[i+step]=a[i];
}
//数据前置
for(int i=0;i<step;i++){
a[i]=temp[i];
}
return a;
}
淘宝2012校招面试 有一个整数数组,现要求实现这个整数数组的循环右移
最新推荐文章于 2021-12-30 10:00:57 发布