Rotate Array
来源:互联网 发布:怎样查看淘宝卖家地址 编辑:程序博客网 时间:2024/05/21 17:41
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].
Note:
Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.
[show hint]
Related problem: Reverse Words in a String II
Credits:
Special thanks to @Freezen for adding this problem and creating all test cases.
思路:一维向量反转问题,向右反转其实也就是向左反转,具体思路可以借鉴一维向量反转,需要注意的是这里的k需要对n取模。代码如下:
class Solution {public: void reverse(vector<int> &nums, int start, int end){ int i = start, j = end; while(i < j){ swap(nums[i], nums[j]); i++; j--; } } void rotate(vector<int>& nums, int k) { int size = nums.size(); int r = size - k%size; reverse(nums,0, r - 1); reverse(nums, r, size - 1); reverse(nums, 0, size - 1); }};
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
- 【LeetCode】Binary Tree Level Order Traversal 解题报告
- 杭电acm--1040
- 侧滑返回功能失效解决
- centos7 matlab install
- linux上应用程序的执行机制
- Rotate Array
- PYTHON数据可视化
- 如何在ROS下编写自己的节点来订阅话题(C++)
- ps
- UIView与CALayer的理解
- Objective-C中代码块的学习
- Ubuntu环境下安装python的flask
- POJ 3295 Tautology 构造 stack
- android listview 取消头部分割线