`
chen040341
  • 浏览: 15402 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
最近访客 更多访客>>
社区版块
存档分类
最新评论

淘宝2012校招面试 有一个整数数组,现要求实现这个整数数组的循环右移

 
阅读更多
/**
	 * ,有一个整数数组,现要求实现这个整数数组的循环右移。
 * 
 * 如: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;
  }
  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics