当前位置:网站首页>牛客网:旋转数组

牛客网:旋转数组

2022-06-25 11:10:00 lsgoose

 这题是用数组翻转做的,是不是没想到...

挺神奇的,从题目的例子来看:

123456翻转整个变成654321

然后我们翻转前2位就变成564321,翻转后4位就变成了561234,是不是很神奇....

一开始我还想着用循环移位来做...

答案如下所示:

class Solution {
public:
    /**
     * 旋转数组
     * @param n int整型 数组长度
     * @param m int整型 右移距离
     * @param a int整型vector 给定数组
     * @return int整型vector
     */
    vector<int> solve(int n, int m, vector<int>& a) {
        m = m%n;
        reverse(a.begin(), a.end());
        reverse(a.begin(), a.begin()+m);
        reverse(a.begin()+m, a.end());
        return a;
    }
};
原网站

版权声明
本文为[lsgoose]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_46266058/article/details/125456672