LeetCode No.189 Rotate Array
来源:互联网 发布:如何开设淘宝店铺 编辑:程序博客网 时间:2024/05/27 00:40
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]
Hint:
Could you do it in-place with O(1) extra space?
Could you do it in-place with O(1) extra space?
Related problem: Reverse Words in a String II
====================================================================================
题目链接:https://leetcode.com/problems/rotate-array/
题目大意:将给定数组右移k位。(使用O(1)的空间复杂度)
思路:当k整除n的时候,其实就是它本身,再将k对n取模。因为要使用O(1)的空间复杂度,所以我们要想个办法直接对数组进行操作。
具体操作如下:
前半部分反转,后半部分反转,再整体反转。
附上代码:
class Solution {public: void rotate(vector<int>& nums, int k) { int n = nums.size() ; if ( k % n == 0 ) return ; k %= n ; reverse ( nums.begin() , nums.begin() + ( n - k ) ) ; reverse ( nums.begin() + ( n - k ) , nums.end() ) ; reverse ( nums.begin() , nums.end() ) ; }};
0 0
- Leetcode NO.189 Rotate Array
- LeetCode No.189 Rotate Array
- [LeetCode][189][Rotate Array]
- Leetcode 189: Rotate Array
- leetCode #189 Rotate Array
- LeetCode #189 Rotate Array
- LeetCode(189) Rotate Array
- [LeetCode 189]Rotate Array
- LeetCode #189 Rotate Array
- LeetCode 189 Rotate Array
- leetcode-189 Rotate Array
- leetcode 189 Rotate Array
- leetcode-189 Rotate Array
- Leetcode[189]-Rotate Array
- leetcode[189]:Rotate Array
- leetcode 189: Rotate Array
- [Leetcode]#189 Rotate Array
- leetcode 189 Rotate Array
- 一颗丑树
- 学习心得——Action命名问题
- Windows+Ubuntu双系统如何设置Windows为第一启动项
- 如何用scikit-learn求TF-IDF
- linux内核版本命名
- LeetCode No.189 Rotate Array
- HDU 5943 二分图
- ECMAScript6标准Module
- mysql-5.7.16-winx64 安装说明
- 还是这棵树
- 【Abode Air程序开发】打包并导出
- 三种东西永远不要放到数据库里
- 第一个汇编程序
- uses-permission错误情况之一