0
点赞
收藏
分享

微信扫一扫

RabbitMQ简单介绍

楠蛮鬼影 6小时前 阅读 0

文章目录

题目描述

思路

思路1:利用辅助数组

思路2:原地翻转数组

复杂度

思路1:
时间复杂度:

空间复杂度:

思路2:
时间复杂度:

空间复杂度:

Code

class Solution {
public:
    /**
     *
     * @param nums To be operated array
     * @param k Specifies the number of rotations
     */
    void rotate(vector<int>& nums, int k) {
        int n = nums.size();
        vector<int> temp(n);
        for (int i = 0; i < n; ++i) {
            temp[(i + k) % n] = nums[i];
        }
        for (int i = 0; i < n; ++i) {
            nums[i] = temp[i];
        }
    }
};
class Solution {
public:
    /**
     * 
     * @param nums To be operated array
     * @param k Specifies the number of rotations
     */
    void rotate(vector<int> &nums, int k) {
        int n = nums.size();
        reverse(nums, 0, n - 1);
        reverse(nums,0, k % n - 1);
        reverse(nums, k % n, n - 1);
        
    }
    void reverse(vector<int>& nums, int left, int right) {
        int n = nums.size();
        while (left < right) {
            swap(nums[left], nums[right]);
            left++;
            right--;
        }
    }
};
举报

相关推荐

0 条评论