import java.util.Arrays; public class MatrixConcat { public static void main(String[] args) { int[][] array={{0,1,0,1},{1,0,1,0},{0,1,1,0}}; int rows = 3; int cols = 4; int[] counts= new int[2]; boolean[] visited=new boolean[rows*cols]; for(int i=0;i<rows;i++){ for(int j=0;j<cols;j++){ path(array,i,j,rows,cols,visited,counts); counts[1]=Math.max(counts[0], counts[1]); counts[0]=0; Arrays.fill(visited,false); } } System.out.println(counts[1]); } public static void path(int[][] array,int row,int col,int rows,int cols, boolean[] visited,int[] counts){ if(row>=0&&col>=0&&row<rows&&col<cols&&array[row][col]==1&&!visited[row*cols+col]){ visited[row*cols+col]=true; counts[0]+=1; path(array,row+1,col,rows,cols,visited,counts); path(array,row-1,col,rows,cols,visited,counts); path(array,row,col+1,rows,cols,visited,counts); path(array,row,col-1,rows,cols,visited,counts); } return; } }
点赞 评论

相关推荐

不吃牛肉的选手在刷面试经:首先,你数过吗?其次,他知道吗?最后,你说了他信吗?
点赞 评论 收藏
分享
牛客网
牛客企业服务