1class Solution {2public int dfs(int[][] grid, int i, int j) {3if (i == grid.length) return j;45if (j < 0 || j >= grid[0].length) return -1;67if (grid[i][j] == 1 && j + 1 < grid[0].length && grid[i][j + 1] == 1)8return dfs(grid, i + 1, j + 1);9else if (grid[i][j] == -1 && j - 1 >= 0 && grid[i][j - 1] == -1) return dfs(grid, i + 1, j - 1);1011return -1;12}1314public int[] findBall(int[][] grid) {15int m = grid[0].length;16int[] ar = new int[m];1718for (int j = 0; j < m; j++) ar[j] = dfs(grid, 0, j);1920return ar;21}22}