码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode1034

时间:2019-04-28 12:47:46      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:ini   [1]   color   self   return   打开方式   list()   int   div   

 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

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

leetcode1034

标签:ini   [1]   color   self   return   打开方式   list()   int   div   

原文地址:https://www.cnblogs.com/asenyang/p/10783234.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!