189. Rotate Array
来源:互联网 发布:学校图书馆wind数据库 编辑:程序博客网 时间:2024/06/03 19:12
错误了好几次,本来尝试利用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
- Android 实现登录界面和功能实例
- 图论之最小生成树
- cura-engine学习(1)
- 第61篇一对多之老师端私有白板点击上共享白板及老师端学生私有白板加载多次及点头像出私有白板列表周四
- shell如何统计文本中每种字符的出现次数
- 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)