© 2026 Hedgehog Software, LLC
Input: grid = [[1,1,1,-1,-1],[1,1,1,-1,-1],[-1,-1,-1,1,1],[1,1,1,1,-1],[-1,-1,-1,-1,-1]] Output: [1,-1,-1,-1,-1]
int currRow = 0
public int[] FindBall(int[][] grid){ int col = grid[0].Length; int row= grid.Length; int[] result = new int[col]; for(int i=0; i< col; i++){ result [i]= Helper(grid,row,col); } return result; } public int Helper(int[][] grid, int row, int col){ int currCol = 0; int currRow = 0; //OutOfBoundsException while(currRow < row){ if (grid[currRow][currCol]==1){ if(currCol == col - 1 || grid[currRow][currCol+1]==-1){ return -1; break; } else { currCol++; currRow++; } } else if (grid[currRow][currCol] ==-1){ if(currCol <0 || grid[currRow][currCol-1]==1){ return -1; break; } else { currCol--; currRow++; } } currRow++; } if(currRow==row){ currCol = grid[currRow][currCol]; } return currCol; }