LeetCode-python 130.被圍繞的區(qū)域

題目鏈接

難度:中等 ??????類型: 數(shù)組


給定一個二維的矩陣油航,包含 'X' 和 'O'(字母 O)肃廓。

找到所有被 'X' 圍繞的區(qū)域,并將這些區(qū)域里所有的 'O' 用 'X' 填充。

示例

輸入
X X X X
X O O X
X X O X
X O X X
輸出
X X X X
X X X X
X X X X
X O X X
解釋:
被圍繞的區(qū)間不會存在于邊界上悔政,換句話說翁涤,任何邊界上的 'O' 都不會被填充為 'X'桥言。 任何不在邊界上,或不與邊界上的 'O' 相連的 'O' 最終都會被填充為 'X'葵礼。如果兩個元素在水平或垂直方向相鄰限书,則稱它們是“相連”的。

解題思路


BFS:
搜索二維矩陣邊界上的‘O'章咧,再以此’O'為起點廣度優(yōu)先搜索倦西,所到之處全部標記為‘T'
如示例中的輸入就變?yōu)椋?br> X X X X
X O O X
X X O X
X T X X
遍歷數(shù)組,將'O'替換為’X','T‘替換為’X',即可

代碼實現(xiàn)

class Solution:
    def solve(self, board: List[List[str]]) -> None:
        """
        Do not return anything, modify board in-place instead.
        """
        
        r = len(board)
        if not r:
            return 
        c = len(board[0])
        
        def bfs(board, i, j):
            if 0<=i<r and 0<=j<c and board[i][j] == 'O':
                board[i][j] = 'T'
                bfs(board, i, j+1)
                bfs(board, i, j-1)
                bfs(board, i+1, j)
                bfs(board, i-1, j)
        
       
        for i in range(r):
            for j in range(c):
                if (i==0 or i==r-1 or j==0 or j==c-1)  and board[i][j]=='O':
                    bfs(board, i, j)
        
        for i in range(r):
            for j in range(c):
                board[i][j] = 'O' if board[i][j]=='T' else 'X'

本文鏈接:http://www.reibang.com/p/57fe538a210f

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末赁严,一起剝皮案震驚了整個濱河市扰柠,隨后出現(xiàn)的幾起案子粉铐,更是在濱河造成了極大的恐慌,老刑警劉巖卤档,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝙泼,死亡現(xiàn)場離奇詭異,居然都是意外死亡劝枣,警方通過查閱死者的電腦和手機汤踏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來舔腾,“玉大人溪胶,你說我怎么就攤上這事∥瘸希” “怎么了哗脖?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長扳还。 經常有香客問我才避,道長,這世上最難降的妖魔是什么氨距? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任桑逝,我火速辦了婚禮,結果婚禮上俏让,老公的妹妹穿的比我還像新娘肢娘。我一直安慰自己,他們只是感情好舆驶,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布橱健。 她就那樣靜靜地躺著,像睡著了一般沙廉。 火紅的嫁衣襯著肌膚如雪拘荡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天撬陵,我揣著相機與錄音珊皿,去河邊找鬼。 笑死巨税,一個胖子當著我的面吹牛蟋定,可吹牛的內容都是我干的。 我是一名探鬼主播草添,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼驶兜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起抄淑,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤屠凶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后肆资,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矗愧,經...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年郑原,在試婚紗的時候發(fā)現(xiàn)自己被綠了唉韭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡犯犁,死狀恐怖属愤,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情栖秕,我是刑警寧澤春塌,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布晓避,位于F島的核電站簇捍,受9級特大地震影響,放射性物質發(fā)生泄漏俏拱。R本人自食惡果不足惜暑塑,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锅必。 院中可真熱鬧事格,春花似錦、人聲如沸搞隐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽劣纲。三九已至逢捺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間癞季,已是汗流浹背劫瞳。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绷柒,地道東北人志于。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像废睦,于是被迫代替她去往敵國和親伺绽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內容