【LeetCode 130. 被圍繞的區域】

1. 題目

2. 分析

這題其實非常不錯。如果正向解,非常麻煩;因為很難界定哪些O是被包圍的?但是如果反向解呢?因為邊界的O不會被包圍,那么就可以想到跟邊界O相連的O都不會被包圍。那么除此之外的O都會被包圍,題目就解決了。

3. 代碼

class Solution:def solve(self, board: List[List[str]]) -> None:"""Do not return anything, modify board in-place instead."""m, n = len(board), len(board[0])vis = [[0] * n for i in range(m)]# 只從邊界遍歷for i in [0,m-1]:for j in range(n):if board[i][j] == 'O':                self.dfs(i, j, m, n, vis, board)for j in [0, n-1]:for i in range(m):if board[i][j] == 'O':                self.dfs(i, j, m, n, vis, board)print(vis)for i in range(m):for j in range(n):if vis[i][j] == 0:board[i][j] = 'X'def dfs(self, i, j, m, n, vis, board):if i>=0 and j>=0 and i<m and j< n:if vis[i][j] == 0 and board[i][j] == "O":vis[i][j] = 1for item in [(i-1,j), (i, j-1), (i+1, j), (i, j+1)]:new_i, new_j = itemself.dfs(new_i, new_j, m, n, vis, board)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19769.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19769.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19769.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【sklearn | 6】無監督學習與聚類分析

在前幾篇教程中&#xff0c;我們探討了 sklearn 的基礎、高級功能&#xff0c;異常檢測與降維&#xff0c;時間序列分析與自然語言處理&#xff0c;模型部署與優化&#xff0c;以及集成學習與模型解釋。本篇教程將專注于無監督學習和聚類分析&#xff0c;這在探索性數據分析和數…

github有趣項目:自制“我的世界” project make

videocodehttps://www.youtube.com/watch?v4O0_-1NaWnY,https://www.bilibili.com/video/BV1oj411p7qM/?https://github.com/jdah/minecraft-weekend MAKE git clone --recurse-submodules https://github.com/jdah/minecraft-weekend.git 正克隆到 minecraft-weekend... …

x264 參考幀管理源碼分析

x264參考幀管理 在x264中,參考幀的管理是一個重要的組成部分,因為它涉及到視頻編碼過程中的幀間預測。以下是關于x264參考幀管理的一些關鍵點: 參考幀的分類:在x264中,幀可以分為幾類,包括參考幀、當前編碼幀和未使用幀等。 參考幀的作用:參考幀用于幀間預測,通過比較當…

【Qt】之【Get√】QByteArray寫入txt文件、QByteArray截取數據

寫入文件 QFile file(path);if (file.open(QIODevice::WriteOnly)) {// 將 QImage 保存到文件file.write(jsonData.toByteArray());// 關閉文件file.close();SCDebug << "saved to" << path;} else {SCDebug << "Failed to open file for wri…

直播分享|深入解析ts-morph:通過注釋生成類型文檔

? ? 你看小狗在叫 樹葉會笑 風聲在呢喃? ? 乘風追夢&#xff0c;童心未泯 OpenTiny 預祝所有大朋友、小朋友兒童節快樂~ 與此同時&#xff0c;OpenTiny 貢獻者直播也即將開啟啦~ 直播主題&#xff1a;【深入解析ts-morph&#xff1a;通過注釋生成類型文檔】 6月1日&am…

碳課堂|入門必看!碳足跡(CFP)主要國際標準一覽

一、碳足跡概念 碳足跡&#xff08;Carbon FootPrint&#xff0c;CFP&#xff09;是用來衡量個體、組織、產品或國家在一定時間內直接或間接導致的二氧化碳排放量的指標。產品碳足跡屬于碳排放核算的一種&#xff0c;一般指產品從原材料加工、運輸、生產到出廠銷售等流程所產生…

NeuralForecast 推理 - 從csv文件里讀取數據進行推理

NeuralForecast 推理 - 從csv文件里讀取數據進行推理 flyfish from ray import tunefrom neuralforecast.core import NeuralForecast from neuralforecast.auto import AutoMLP from neuralforecast.models import NBEATS, NHITS import torch import torch.nn as nn import…

【Java】剛剛!突然!緊急通知!垃圾回收!

【Java】剛剛&#xff01;突然&#xff01;緊急通知&#xff01;垃圾回收&#xff01; 文章目錄 【Java】剛剛&#xff01;突然&#xff01;緊急通知&#xff01;垃圾回收&#xff01;從C語言的內存管理引入&#xff1a;手動回收Java的垃圾回收機制引用計數器循環引用問題 可達…

SpringBoot六種API請求參數讀取方式

SpringBoot六種API請求參數讀取方式 同步請求和異步請求 同步: 指單線程依次做幾件事異步: 指多線程同時做幾件事 同步請求: 指客戶端瀏覽器只有一個主線程, 此線程負責頁面的渲染和發出請求等操作, 如果此主線程發出請求的話則停止渲染而且會清空頁面顯示的內容 直到服務器響…

優化基礎(二):線性組合、仿射組合、錐組合、凸組合、線性集合、仿射集合、錐集合、凸集合的理解

文章目錄 前言組合線性組合 (linear combination)仿射組合 (affine combination)錐組合 (conic combination)凸組合 (convex combination) 集合仿射集合凸集合 練習&#xff1a;哪個圖形是凸的&#xff0c;哪個是仿射的&#xff1f;參考資料 前言 組合側重于描述由一些基點生成…

越洗越黑”的Pandas數據清洗

引言 先來一個腦筋急轉彎活躍一下枯燥工作日常&#xff0c;問&#xff1a;“什么東西越洗越黑&#xff1f;” 有沒有猜到的&#xff1f;猜不到我告訴你吧&#xff01; 答案是“煤球”。那么這個腦機急轉彎跟我們要討論的話題有沒有關系呢&#xff1f; 嗯是的&#xff0c;還是沾…

三相智能電表通過Modbus轉Profinet網關與PLC通訊案例

Modbus轉Profinet網關&#xff08;XD-MDPN100/300&#xff09;的主要功能是實現Modbus協議和Profinet協議之間的轉換和通信。Modbus轉Profinet網關集成了Modbus和Profinet兩種協議&#xff0c;支持Modbus RTU主站/從站&#xff0c;并可以與RS485接口的設備&#xff0c;它自帶網…

「前端+鴻蒙」核心技術HTML5+CSS3

1、CS架構與BS架構 CS架構(Client-Server):客戶端/服務器架構。用戶通過客戶端軟件與服務器進行交互,客戶端需要安裝特定的軟件才能訪問服務器上的資源。BS架構(Browser-Server):瀏覽器/服務器架構。用戶通過瀏覽器訪問服務器上的網頁,無需安裝額外的軟件,所有的交互都…

接口請求參數為文件時如何測試

方法 工具&#xff1a;Postman 步驟&#xff1a;①點擊body②點擊form-data③選擇key類型為fie ④輸入參數名⑤選擇參數上傳⑥發送請求

對稱二叉樹(oj題)

一、題目鏈接https://leetcode-cn.com/problems/symmetric-tree/ 二、題目思路 給你一個二叉樹的根節點 root &#xff0c; 檢查它是否軸對稱的思路: 1.將該樹的左子樹和右子樹&#xff0c;當做兩棵樹&#xff0c;調用 判斷兩棵樹是否對稱相等的函數 2.判斷兩顆樹是否對稱相…

告別低效提問:掌握BARD技巧,讓AI成為你的智能助手!

今天只聊一個主題&#xff1a;提示詞 Prompt。 說到提示詞&#xff0c;大家可能都看過GPT的高級示例&#xff0c;那些幾百字的提示詞&#xff0c;寫起來確實不容易。 那么&#xff0c;如何寫出同樣效果的提示詞呢&#xff1f; 有沒有什么公式或者系統學習的方法&#xff1f;…

在Linux/Ubuntu/Debian中使用lshw查看系統信息

在Linux/Ubuntu/Debian中使用lshw查看系統信息 lshw 是一個用于顯示硬件配置的命令&#xff0c;可以提供系統硬件的詳細信息&#xff0c;包括 CPU、內存、硬盤、主板等。該命令需要超級用戶權限來獲取詳細信息。 常見用法&#xff1a; 顯示所有硬件信息&#xff1a; sudo l…

木葉飛舞之【機器人ROS2】篇章_第三節、給turtlebot3安裝realsense深度相機

我們做視覺slam時會用到深度相機&#xff0c;但是gazebo的turtlebot3中只有rgb相機&#xff0c;沒有深度&#xff0c;因此本節會修改代碼&#xff0c;來給我們的小烏龜增加一個rgbd相機。 效果展示 發布topic如下圖 圖片大小都是640*480 1. 修改model.sdf文件 1.1 路徑位置…

射頻功率限幅器簡略

在功率輸入保護方面&#xff0c;限幅器是最好用的器件之一&#xff0c;可以保護后級電路不受超限功率的損害&#xff0c;限幅器其實像TVS功能一樣&#xff0c;讓超過閾值的功率釋放到接地上&#xff0c;來達到限制幅度的目的&#xff0c;目前限幅器的限幅幅度大多都大于15dBm,很…

啟智CV機器人,ROS, ubuntu 18.04

資料&#xff1a; https://wiki.ros.org/kinetic/Installation/Ubuntu https://blog.csdn.net/qq_44339029/article/details/120579608 http://wiki.ros.org/melodic/Installation/Ubuntu https://github.com/6-robot/wpb_cv 一、安裝ros環境 裝VM。 裝ubuntu18.04 desktop.…