1 static int wing=[]()
 2 {
 3     std::ios::sync_with_stdio(false);
 4     cin.tie(NULL);
 5     return 0;
 6 }();
 7 
 8 class Solution 
 9 {
10 public:
11     void rotate(vector<int>& nums, int k) 
12     {
13         vector<int> cur=nums;
14         int sz=nums.size();
15         int move=k%sz;
16         for(int i=0;i<sz-move;i++)
17             cur[i+move]=nums[i];
18         for(int i=sz-move,j=0;i<sz;i++,j++)
19             cur[j]=nums[i];
20         nums=cur;
21     }
22 };

循环右移数组,方法很多,问题不大。

借助辅助容器可以缩短时间,也可以就地实现。

posted on 2018-05-22 10:45  高数考了59  阅读(95)  评论(0)    收藏  举报