python, straightforward solution, time complexity O(mn),
https://leetcode.com/submissions/detail/878014740/  \nRuntime: 197 ms, faster than 89.81% of Python3 online submissions for Where Will the Ball Fall.  \nMemory 
https://leetcode.com/submissions/detail/878014740/  \nRuntime: **197 ms**, faster than 89.81% of Python3 online submissions for Where Will the Ball Fall.  \nMemory Usage: 14.2 MB, less than 98.85% of Python3 online submissions for Where Will the Ball Fall.  \n```\nclass Solution:\n    def findBall(self, grid: List[List[int]]) -> List[int]:\n        falls, nrow, ncol = [], len(grid), len(grid[0]) \n        for j in range(ncol): ## initial column position\n            is_stuck = False \n            for i in range(nrow):\n                if grid[i][j]==1 and j<ncol-1 and grid[i][j+1]==1:\n                    j += 1\n                elif grid[i][j]==-1 and j>0 and grid[i][j-1]==-1:\n                    j -= 1\n                else:\n                    is_stuck = True\n                    falls.append(-1)\n                    break\n            if not is_stuck: falls.append(j)\n        return falls\n```
['Python']