leetcode1034
Posted asenyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
这题是什么鬼玩意儿?是我打开方式不对么。。。
以上是关于leetcode1034的主要内容,如果未能解决你的问题,请参考以下文章
第 1034 行:字符 9:运行时错误:引用绑定到类型为“int”的空指针 (stl_vector.h)
LeetCode 1034. 边界着色 / 689. 三个无重叠子数组的最大和(三个区间的滑动窗口,带回溯求具体值的动规) / 794. 有效的井字游戏