Rotate Array
来源:互联网 发布:soap json 比较 编辑:程序博客网 时间:2024/06/08 18:42
Rotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].
思路:
1、以数组右侧第k个元素为界,将一个数组分成两部分。如数组[1,2,3,4,5,6,7],k=3,则分成两部分为[1,2,3,4,| 5,6,7]。
2、将这两部分分别翻转,得到数组[4,3,2,1,|7,6,5];
3、将整个数组翻转即可,即[5,6,7,1,2,3,4]。
代码如下:
void ReverseArray(int *nums, int start, int end);void rotate(int* nums, int numsSize, int k) { int p = k % numsSize; if(p == 0) return; ReverseArray(nums, 0, numsSize -p -1); ReverseArray(nums, numsSize - p, numsSize - 1); ReverseArray(nums, 0, numsSize - 1);}void ReverseArray(int *nums, int start, int end){ int temp; while(start < end) { temp = nums[start]; nums[start] = nums[end]; nums[end] = temp; start++; end--; }}
0 0
- 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
- Rotate Array
- 微信带参数二维码php
- [资源] Visual Studio 2015正式版离线iso及在线下载,附专业版和企业版可用key!
- jvm如何判断实例对象是否需要回收
- Cocos2d-Lua之类型及类型转换
- 【Unity】按住鼠标右键,移动场景内镜头(适用于塔防等游戏视角)
- Rotate Array
- gridview易忘点集合
- python开发总结
- JAVA书写规范、命名规范
- solr4.8.1部署到tomcat8.0.33
- 移动app应用性能测试要点
- Redis介绍 && Java客户端操作Redis
- 相机跟随主角移动,并带有延迟效果
- 开发过程中莫名异常排错(仅供个人参考)