看上去用BFS最简单,但是BFS会TLE,且卡住的TC在17,可能逻辑上还是有错,但是不好确定。先留下吧.
第二种方式用DFS, 把grid2中为1而对位grid1中为0的位置提出,开始DFS,因为这样的1所在的岛屿不可能时sub island,所以全处理为0。这之后依然可以被保留的1,就是合法的subisland了。
第一种
class Solution:
def countSubIslands(self, grid1: List[List[int]], grid2: List[List[int]]) -> int:
wrongadd = 0
dirct = [(1,0),(0,1),(-1,0),(0,-1)]
que = collections.deque()
meet = set()
res = 0
for i in range(len(grid1)):
for j i