Medium
Given a grid where 1 is land and 0 is water, find the water cell whose Manhattan distance to the nearest land cell is maximized, and return that distance. If the grid has no water or no land, return -1.
Input: grid = [[1,0,1],[0,0,0],[1,0,1]] Output: 2
Input: grid = [[1,0,0],[0,0,0],[0,0,0]] Output: 4