class Solution {
//上下左右方向:
public int [][]dirc={{-1,0},{1,0},{0,-1},{0,1}};
public int dfs(int [][]matrix,int [][]f,int i,int j){
if(f[i][j]!=0)
return f[i][j];
//对四个方向进行搜索,找最长的值,并为f[i][j]记录。
int maxlen=1;
int len=0;
for(int k=0;k<4;k++){
int i1=i+dirc[k][0];
int j1=j+dirc[k][1];
if(i1>=0&&i1=0&&j1
发现dfs 剪枝操作中,会走一样的路径进行搜索,如果能记录当前已经走过的路如果已经访问过那就直接返回节点了的路径了



