zoukankan      html  css  js  c++  java
• # 130被围绕的区域

`from typing import List# 这道题看了大佬写的代码，经过自己的理解写出来了。# 从最外围的四周找有没有为O的，如果有的话就进入深搜函数，然后深搜遍历# 判断上下左右的位置是否为Oclass Solution:    def solve(self, board: List[List[str]]) -> None:        # 判断是否为空列表        if not board or not board[0] : return        # 求出列表的有几行和有几列        row = len(board)        col = len(board[0])        # 深搜，当边界为O进行判断        def dfs(index1,index2):            # 首先将O变成B，之后再变回来。            board[index1][index2] = 'B'            # 遍历上下左右            for x,y in [(0,1),(0,-1),(1,0),(-1,0)]:                print(x,y)                # 注意这里不能改变index1和index2的值，因为后边还要用。                i = index1 +  x                j = index2 +  y                # 如果当前位置的上下左右不出边界而且位置上为O就，进行深搜                # 注意这里边界上边不能判断，                if 1 <= i < row and 1 <= j < col and board[i][j] == "O":                    print("111")                    dfs(i,j)        # 判断第一行和最后一行上的边界值        for index1 in range(col):            if board[0][index1] == "O":                dfs(0,index1)            if board[row - 1][index1] == 'O':                dfs(row - 1,index1)        # 判断第一列和最后一列的边界值        for index2 in range(row):            if board[index2][0] == "O":                dfs(index2,0)            if board[index2][col - 1] == 'O':                dfs(index2,col - 1)        # 将O全部改写成X，将之前写的B也改写成O        for index1 in range(row):            for index2 in range(col):                if board[index1][index2] == "O":                    board[index1][index2] = "X"                if board[index1][index2] == "B":                    board[index1][index2] = 'O'A = Solution()print(A.solve([["O","X","X","O","X"],["X","O","O","X","O"],["X","O","X","O","X"],["O","X","O","O","O"],["X","X","O","X","O"]]))`
• 相关阅读:
获取当前android设备是mips架构还是arm架构
查看android设备的设备名称
android源码查看源码的版本
netcfg android
linux中解压zip 中文乱码处理
通过命令行查看当前android系统的版本
关于Yorhom Yorhom's Game Box
是英雄就下100层(1)
Javascript可移动地图的实现Demo演示
HTML5之游戏DEMO Yorhom's Game Box
• 原文地址：https://www.cnblogs.com/cong12586/p/13399237.html