题解 | #旋转数组#

旋转数组

http://www.nowcoder.com/practice/e19927a8fd5d477794dac67096862042

class Solution {
public:
    /**
     * 旋转数组
     * @param n int整型 数组长度
     * @param m int整型 右移距离
     * @param a int整型vector 给定数组
     * @return int整型vector
     */
    void deal(vector<int>& a, int l,int r){
        for(int i=0;i<(r-l)/2;i++){
            swap(a[i+l], a[r-i-1]);
        }
    }
    
    vector<int> solve(int n, int m, vector<int>& a) {
        // write code here
        m%=n;
        if(m==0) return a;
        deal(a,0,n);
        deal(a,0,m);
        deal(a,m,n);
        return a;
    }
};
全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务