#include <iterator>
class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型vector
     * @param k int整型
     * @return int整型vector
     */
    vector<int> rotateCows(vector<int>& nums, int k) {
        // write code here
        int n = nums.size();
        k %= n;
        reverse(nums.begin(), nums.begin() + n - k);
        reverse(nums.begin() + n - k, nums.end());
        reverse(nums.begin(), nums.end());
        return nums;
    }
};

一、题目考察的知识点

数组翻转

二、题目解答方法的文字分析

考研数据结构真题里面有一道一模一样的题,我记得当时备考的时候做过,好像还不知一道

就是先要对k取余,毕竟k大于n的时候做了无用功,也就是相当于没有翻转

所以先翻转局部,然后再整体翻转就能得到想要的答案

三、本题解析所用的编程语言

c++