2024年3月21日发(作者:)
自适应分层代码
public class DivideLayer 。
private int[][] matrix;。
public DivideLayer(int[][] matrix) 。
= matrix;。
}。
public List> divideLayer() 。
List> res = new ArrayList<>();。
int[] visited = new int[];。
for (int i = 0; i < ; i++) 。
visited[i] = 0;。
}。
List
(0);。
dfs(1, res, list, visited);。
return res;。
}。
private void dfs(int index, List> res,
List
if (index == ) 。
if (() > 1) 。
List
for (int i : list) 。
int[][] subMatrix = new int[()][()];。
for (int j = 0; j < (); j++) 。
for (int k = 0; k < (); k++) 。
subMatrix[j][k] = matrix[(j)][(k)];。
}。
}。
(subMatrix);。
}。
(subList);。
}。
return;。
}。
for (int i = 0; i < ; i++) 。
if (visited[i] == 0) 。
(i);。
visited[i] = 1;。
dfs(index + 1, res, list, visited);。
(() - 1);。
visited[i] = 0;。
}。
}。
}。


发布评论