189. Rotate Array
来源:互联网 发布:学校图书馆wind数据库 编辑:程序博客网 时间:2024/06/16 23:36
错误了好几次,本来尝试利用O(1)的空间复杂度处理,结果发现处理样本数为奇数时,效果还行,但是偶数时就会出现问题。
因此,最后并没有采用这种方式,而是利用了一个新的数组right,移位后赋值。
class Solution {public: void rotate(vector<int>& nums, int k) { if(nums.size()<=1) return; k=k%nums.size(); if(k==0) return; vector<int> right; for(int i=nums.size()-k;i<nums.size();i++) right.push_back(nums[i]); for(int i=nums.size()-k-1;i>=0;i--) nums[i+k]=nums[i]; for(int i=0;i<right.size();i++) nums[i]=right[i]; }};
答案中有一种空间复杂度为O(1)的方法。例如[1,2,3,4,5,6,7], k=3
先对后3个逆序[7,6,5],再对前四个逆序[4,3,2,1],最后对总体逆序[5,6,7,1,2,3,4]。挺简单巧妙的方法。
0 0
- Leetcode - Array - 189. Rotate Array
- 189. Rotate Array leetcode(array)
- LeetCode-Array-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
- 189. Rotate Array LeetCode
- 189. Rotate Array
- [LeetCode]189. Rotate Array
- 189. Rotate Array
- leetcode-189.-Rotate Array
- 189. Rotate Array
- 189. Rotate Array
- 189. Rotate Array
- 笔记6
- cglib动态代理
- 使用layoutinflater的正确姿势
- 在Linux离线部署ASP.NET MVC,运用mono-3.12.1+jexus-5.6.3
- 使用unity3d + vuforia进行AR项目构建
- 189. Rotate Array
- 【计算机视觉】人脸识别中一些挑战
- checked (C# Reference)
- Catterplots包,让你绘制不一样的图
- ubuntu 16.04安装有道辞典
- 置换矩阵(P)的逆是其转置(T)
- 【解题报告】ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined)
- MySQL主从复制与主主复制
- 笔记7