查找给定矩阵的所有子元

Finding all submatrixes of a given matrix

本文关键字:查找      更新时间:2023-10-16

我有一个2D向量,该矢量容纳了整数的矩阵,看起来像这样:

    vector<vector<int>> Members;

我试图找到的是一种如何提取NXN矩阵的每个可能的子基质的方法。

例如,如果我有一个2x2矩阵:

    0 -2
    9  2

它将输出:

    0
   -2
    9
    2
    0
    9
   -2
    2
    0 -2
    9  2

sub-matrix取决于左上点和右下点,因此您可以给出所有可能的位置并以此为单位:

//data stored in mat[max][max]
int max=5;//size of matrix
int i,j,m,n;
for(i=0;i<=max-1;i++)
    for(j=0;j<=max-1;j++)
        for(m=i;m<=max-1;m++)
            for(n=j;n<=max-1;j++)
                print(i,j,m,n);//a simple function