matlab中的reshape实现

其实就是一个重塑矩阵算法,具体实现如下

    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

猜你喜欢

转载自blog.csdn.net/m0_63024355/article/details/129755681