题目描述给你一个m行n列的二维网格grid和一个整数k。你需要将grid迁移k次。每次「迁移」操作将会引发下述活动位于grid[i][j]j n - 1的元素将会移动到grid[i][j 1]。位于grid[i][n - 1]的元素将会移动到grid[i 1][0]。位于grid[m - 1][n - 1]的元素将会移动到grid[0][0]。请你返回k次迁移操作后最终得到的二维网格。示例 1输入grid [[1,2,3],[4,5,6],[7,8,9]],k 1输出[[9,1,2],[3,4,5],[6,7,8]]示例 2输入grid [[3,8,1,9],[19,7,2,5],[4,6,11,10],[12,0,21,13]],k 4输出[[12,0,21,13],[3,8,1,9],[19,7,2,5],[4,6,11,10]]示例 3输入grid [[1,2,3],[4,5,6],[7,8,9]],k 9输出[[1,2,3],[4,5,6],[7,8,9]]提示m grid.lengthn grid[i].length1 m 501 n 50-1000 grid[i][j] 10000 k 100苯人思路classSolution{public:vectorvectorintshiftGrid(vectorvectorintgrid,intk){intmgrid.size();intngrid[0].size();// 一维数组 temp 存储 grid 中的数字vectorinttemp;for(autoa:grid){for(autob:a)temp.emplace_back(b);}// 指针 p 指向下一个加入 answer 的数字在 temp 中的位置intp(m*n-k%(m*n))%(m*n);vectorvectorintanswer(m,vectorint(n,0));for(autoa:answer){for(autob:a){btemp[p];p(p1)%(m*n);}}returnanswer;}};