知识点

数学公式

思路

对于第i行第j个点(从0开始看),在矩阵中的值为:

int ii = (i + k) % n;

int jj = (j + k) % n;

nums[i][j] = n * ii + jj + 1;

代码c++

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 
     * @param k int整型 
     * @return int整型vector<vector<>>
     */
    vector<vector<int> > rotateII(int n, int k) {
        // write code here
       vector<vector<int>>nums(n,vector<int>(n));
         for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++) {
                int ii = (i + k) % n;
                int jj = (j + k) % n;
                nums[i][j] = n * ii + jj + 1;
              
            }

        return nums;
    }
};