1、根据题目要求暴力解,先将各列向后移一位(注意保存好最后一列,并在最后将它赋值到第一列的位置),然后将第一列的元素往下移一位(注意保存好这一列最后一行的元素,并在最后将它赋值到这一列第一行),每迁移一次则执行一次上述过程
class Solution {
public:
vector<vector<int>> shiftGrid(vector<vector<int>>& grid, int k) {
int rows=grid.size();
int cols=grid[0].size();
vector<int> tmpcol(rows);
int tmp;
while(k>0)
{
for(int i=0;i<rows;++i) tmpcol[i]=grid[i][cols-1];
for(int i=cols-1;i>0;--i)
for(int j=rows-1;j>=0;--j)
grid[j][i]=grid[j][i-1];
for(int i=0;i<rows;++i) grid[i][0]=tmpcol[i];
tmp=grid[rows-1][0];
for(int i=rows-1;i>=1;--i)
{
grid[i][0]=grid[i-1][0];
}
grid[0][0]=tmp;
--k;
}
return grid;
}
};