当前位置: 首页 > news >正文

面试150 被围绕的区域

在这里插入图片描述

思路

使用DFS,将所有与边界相连的’O’都修改为‘#’,然后遍历数组,如果是遇到’#‘修改为’O’,如果是’O’修改为’X’。

class Solution:def solve(self, board: List[List[str]]) -> None:"""Do not return anything, modify board in-place instead."""m=len(board)n=len(board[0])direction=[(0,1),(1,0),(0,-1),(-1,0)]def dfs(x,y):if x<0 or x>=m or y<0 or y>=n or board[x][y]!='O':return board[x][y]='#'for dx,dy in direction:dfs(x+dx,y+dy)for i in range(m):if board[i][0]=='O':dfs(i,0)if board[i][n-1]=='O':dfs(i,n-1)for j in range(n):if board[0][j]=='O':dfs(0,j)if board[m-1][j]=='O':dfs(m-1,j)for i in range(m):for j in range(n):if board[i][j]=='#':board[i][j]='O'elif board[i][j]=='O':board[i][j]='X'
http://www.dtcms.com/a/286531.html

相关文章:

  • 数据结构——单调栈
  • PHP语法高级篇(三):过滤器与JSON
  • 计算机“十万个为什么”之跨域
  • STM32 RTOS 开发基础:从任务管理到同步机制的全面解析
  • 深入解析PyQt5信号与槽的高级玩法:解锁GUI开发新姿势
  • codesys【串口】
  • 搜索 #1 DFS讲解
  • HBase2.5.4单机模式与伪分布式的安装与配置(Ubuntu系统)
  • Python学习笔记4
  • ts学习2
  • 用AI生成了一个名叫Janitor AI导航网站
  • Android性能优化之UI渲染优化
  • 静态时序分析:门控时钟建立时间检查
  • 无人机悬停技术运行与难点分析
  • Linux 服务器中,Tab 键自动补全功能失效
  • 免费好用,闪电般快速的AI 3D模型生成器
  • 信息检索革命:Perplexica+cpolar打造你的专属智能搜索中枢
  • 写在 35 岁生日的时候
  • Web3+AI融合新纪元:Sollong用智能终端重塑协作计算未来
  • unity Physics.RaycastNonAlloc
  • 反序列化漏洞1-PHP序列化基础概念(0基础超详细)
  • 从 Spring Boot 2.x 到 Spring Boot 3.x:全面对比与快速上手指南
  • 高精度流体分配系统的设计与分析
  • 加速度计和气压计、激光互补滤波融合算法
  • 接口测试时如何上传文件(图片、安装包等)
  • 基于DeepSeek大模型实现Function Call功能
  • elementui-admin构建
  • 行为型设计模式:解释器模式
  • ES v.s Milvus v.s PG
  • 【unitrix】 6.8 加一运算(add_one.rs)