leetcode1034

 1 class Solution:
 2     def __init__(self):
 3         self.V = list()
 4 
 5     def bfs(self,grid,color,rows,coloums,r,c,ocolor):
 6         cur = [r,c]
 7         if cur[0]-1 >=0 and self.V[cur[0]-1][cur[1]]==0 and grid[cur[0]-1][cur[1]]==ocolor:
 8             grid[cur[0]-1][cur[1]] = color
 9             self.V[cur[0]-1][cur[1]] = 1
10             self.bfs(grid,color,rows,coloums,cur[0]-1,cur[1],ocolor)
11         if cur[0]+1 <rows and self.V[cur[0]+1][cur[1]]==0 and grid[cur[0]+1][cur[1]] == ocolor:
12             grid[cur[0]+1][cur[1]] = color
13             self.V[cur[0]+1][cur[1]] = 1
14             self.bfs(grid,color,rows,coloums,cur[0]+1,cur[1],ocolor)
15         if cur[1]-1 >=0 and self.V[cur[0]][cur[1]-1]==0 and grid[cur[0]][cur[1]-1] == ocolor:
16             grid[cur[0]][cur[1]-1] = color
17             self.V[cur[0]][cur[1]-1] = 1
18             self.bfs(grid,color,rows,coloums,cur[0],cur[1]-1,ocolor)
19         if cur[1]+1 <coloums and self.V[cur[0]][cur[1]+1]==0 and grid[cur[0]][cur[1]+1]==ocolor:
20             grid[cur[0]][cur[1]+1] = color
21             self.V[cur[0]][cur[1]+1] = 1
22             self.bfs(grid,color,rows,coloums,cur[0],cur[1]+1,ocolor)
23             
24     def colorBorder(self, grid: 'List[List[int]]', r0: int, c0: int, color: int) -> 'List[List[int]]':
25         if grid[r0][c0] != color:
26             ocolor = grid[r0][c0]
27             rows = len(grid)
28             coloums = len(grid[0])
29             self.V = [[0 for c in range(coloums)] for r in range(rows)]
30             self.V[r0][c0] = 1
31             grid[r0][c0] = color
32             self.bfs(grid,color,rows,coloums,r0,c0,ocolor)
33             print(self.V)
34             for i in range(rows):
35                 for j in range(coloums):
36                     if i>0 and i<rows-1 and j>0 and j<coloums-1:
37                         if self.V[i][j] == 1 and self.V[i-1][j]==1 and self.V[i+1][j]==1 and self.V[i][j-1]==1 and self.V[i][j+1]==1:
38                             grid[i][j] = ocolor
39         return grid

这题是什么鬼玩意儿?是我打开方式不对么。。。

猜你喜欢

转载自www.cnblogs.com/asenyang/p/10783234.html