美文网首页
189. Rotate Array

189. Rotate Array

作者: SilentDawn | 来源:发表于2018-07-10 11:21 被阅读0次

    Problem

    Given an array, rotate the array to the right by k steps, where k is non-negative.

    Example

    Input: [1,2,3,4,5,6,7] and k = 3
    Output: [5,6,7,1,2,3,4]
    Explanation:
    rotate 1 steps to the right: [7,1,2,3,4,5,6]
    rotate 2 steps to the right: [6,7,1,2,3,4,5]
    rotate 3 steps to the right: [5,6,7,1,2,3,4]
    
    Input: [-1,-100,3,99] and k = 2
    Output: [3,99,-1,-100]
    Explanation: 
    rotate 1 steps to the right: [99,-1,-100,3]
    rotate 2 steps to the right: [3,99,-1,-100]
    

    Code

    static int var = [](){
        std::ios::sync_with_stdio(false);
        cin.tie(NULL);
        return 0;
    }();
    class Solution {
    public:
        void rotate(vector<int>& nums, int k) {
            k = k % nums.size();
            nums.insert(nums.begin(),nums.end()-k,nums.end());
            nums.erase(nums.end()-k,nums.end());
        }
    };
    

    Result

    189. Rotate Array.png

    相关文章

      网友评论

          本文标题:189. Rotate Array

          本文链接:https://www.haomeiwen.com/subject/osatpftx.html