rotate array--JavaScript
来源:互联网 发布:java微信卡券开发实例 编辑:程序博客网 时间:2024/05/16 11:38
首先想到的思路很简单,先将数组reverse,然后再将前k个reverse,最后将后n-k个reverse。而对于k>n的情况,用k=k%n解决。
var rotate = function(nums, k) {
n=k=k%nums.length;
if(k==0) nums=nums;
else{
for(i=0;i<nums.length/2;i++){ //all reverse
temp=nums[i];
nums[i]=nums[nums.length-1-i];
nums[nums.length-1-i]=temp;
}
for(i=0;i<k/2;i++){ // 前k个reverse
temp=nums[i];
nums[i]=nums[k-1-i];
nums[k-1-i]=temp;
}
for(i=0;i<Math.ceil((nums.length-n)/2);i++){ //后面 reverse
if(k<nums.length-1){
temp=nums[k];
nums[k]=nums[nums.length-i-1];
nums[nums.length-i-1]=temp;
k++;
}
}
}
};
注意:反转循环时的判断条件要除以2!!当逻辑不太清楚时,直接多使用几个变量表示好了。。。
- rotate array--JavaScript
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- rotate array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- HTTP get、post请求与post文件发生
- 一个跳转页面的传参
- 从事iOS开发工作3个多月的一点感悟
- Objective-C之run loop详解
- Workspace default 的JRE System Library与Project的JRE System Library http://blog.sina.com.cn/s/blog_65
- rotate array--JavaScript
- 如何在shell脚本中判断文件或者文件夹是否存在?
- java笔记:关于类与接口的继承
- POJ 3414 Pots (BFS+路径打印)
- Android Studio2.0模拟器最新预览版发布说明
- Java基于TCP/IP的Socket通信
- android 蓝牙4.0开发
- Volley的简要说明-android
- a标签的样式属性