其实就是一个重塑矩阵算法,具体实现如下
vector<vector<int>> matrixReshape(vector<vector<int>>& mat, int r, int c) { int m=mat.size(); int n=mat[0].size(); if(m*n!=r*c) { return mat; } vector<vector<int>> ans(r, vector<int>(c)); for(int i=0;i<m*n;i++){ ans[i/c][i%c]=mat[i/n][i%n]; } return ans; }
就是将A[x][y]矩阵转化为B[]m[n],其中x*y=m*n