417. Pacific Atlantic Water Flow dfs
来源:互联网 发布:飞毛腿跑腿软件好吗 编辑:程序博客网 时间:2024/05/21 22:43
public class Solution { public List<int[]> pacificAtlantic(int[][] matrix) { List<int[]> ret=new ArrayList<int[]>(); int m=matrix.length; if(m==0) return ret; int n=matrix[0].length; if(n==0) return ret; boolean[][] pvisited=new boolean[m][n]; boolean[][] avisited=new boolean[m][n]; for(int i=0;i<m;i++) { DFS(pvisited,matrix,Integer.MIN_VALUE,i,0); DFS(avisited,matrix,Integer.MIN_VALUE,i,n-1); } for(int i=0;i<n;i++){ DFS(pvisited,matrix,Integer.MIN_VALUE,0,i); DFS(avisited,matrix,Integer.MIN_VALUE,m-1,i); } for(int i=0;i<m;i++) for(int j=0;j<n;j++){ if(pvisited[i][j]&&avisited[i][j]){ ret.add(new int[]{i,j}); } } return ret; } private void DFS(boolean[][] visited,int[][] matrix,int lastheight,int x,int y){ int[][] dirs=new int[][]{{1,0},{-1,0},{0,1},{0,-1}}; int m=matrix.length; int n=matrix[0].length; if(x<0||x>m-1||y<0||y>n-1||visited[x][y]||lastheight>matrix[x][y]) return; visited[x][y]=true; for(int[] dir:dirs){ int newx=x+dir[0]; int newy=y+dir[1]; DFS(visited,matrix,matrix[x][y],newx,newy); } }}
1 0
- 417. Pacific Atlantic Water Flow dfs
- (M)DFS:417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- 417. Pacific Atlantic Water Flow
- leetcode---Pacific Atlantic Water Flow---dfs
- Pacific Atlantic Water Flow
- LeetCode—417. Pacific Atlantic Water Flow
- Leetcode-417. Pacific Atlantic Water Flow
- LeetCode 417. Pacific Atlantic Water Flow 题解
- bss,data,text,rodata,堆,栈,常量段
- android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 14
- Drawable 文件夹——xml文件
- 1060. Are They Equal (25)
- 3.scala容器
- 417. Pacific Atlantic Water Flow dfs
- Scala学习笔记 --- scala中 => 作用
- 共生矩阵纹理特征提取
- springmvc使用流程
- 混杂设备驱动模型设计LED驱动
- 栈与队列(四)中缀计算器代码
- Ubuntu 下真机调试 Android
- 菜鸟笔记的第一天,自定义View(组合控件)
- JavaWeb(框架--Hibernate):----配置