面试某宇宙条,第一次让写,不会。
面试某bigo,第二次让写,不会。
面试某汤,第三面让写,不会。
真高频面试题。。。。。。。。。。。。。
源博客地址https://blog.csdn.net/wphkadn/article/details/100125148,
看完他的叙述以后豁然开朗,建议先点开链接阅读原文章,其实就是一个简单的dfs或bfs问题。
在一般的无向图遍历中,一般邻近节点储存在邻接列表里,故而遍历时有针对性地选取当前节点的邻居加入待访问集合就可以轻松完成访问,而对于矩阵这种图的表示形式(严格称为栅格),却需要自己以某种规律寻找当前节点的邻居集合。
import numpy as np
import matplotlib.pyplot as plt
class solution:
def __init__(self,im):
self.im=im
m,n=im.shape
self.mask=[[0 for _ in range(n)] for _ in range(m)]
def isValid(self,i,j,mask,im):
m,n=im.shape
return i>=0 and i<m and j>=0 and j<n and mask[i][j]==0 and im[i][j]==1
def add(self,i,j,mask,im,q):
if self.isValid(i,j,mask,i