Golang | Leetcode Golang题解之第130题被围绕的区域

题目:

题解:

var (dx = [4]int{1, -1, 0, 0}dy = [4]int{0, 0, 1, -1}
)
func solve(board [][]byte)  {if len(board) == 0 || len(board[0]) == 0 {return}n, m := len(board), len(board[0])queue := [][]int{}for i := 0; i < n; i++ {if board[i][0] == 'O' {queue = append(queue, []int{i, 0})board[i][0] = 'A'}if board[i][m-1] == 'O' {queue = append(queue, []int{i, m - 1})board[i][m - 1] = 'A'}}for i := 1; i < m - 1; i++ {if board[0][i] == 'O' {queue = append(queue, []int{0, i})board[0][i] = 'A'}if board[n-1][i] == 'O' {queue = append(queue, []int{n - 1, i})board[n - 1][i] = 'A'}}for len(queue) > 0 {cell := queue[0]queue = queue[1:]x, y := cell[0], cell[1]for i := 0; i < 4; i++ {mx, my := x + dx[i], y + dy[i]if mx < 0 || my < 0 || mx >= n || my >= m || board[mx][my] != 'O' {continue}queue = append(queue, []int{mx, my})board[mx][my] = 'A'}}for i := 0; i < n; i++ {for j := 0; j < m; j++ {if board[i][j] == 'A' {board[i][j] = 'O'} else if board[i][j] == 'O' {board[i][j] = 'X'}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/24987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xmind父主题快捷键Ctrl+Enter

xmind父主题快捷键 CtrlEnter

实验八、地址解析协议《计算机网络》

水逆退散&#xff0c;学业进步&#xff0c;祝我们都好&#xff0c;不止在夏天。 目录 一、实验目的 二、实验内容 &#xff08;1&#xff09;预备知识 &#xff08;2&#xff09;实验步骤 三、实验小结 一、实验目的 完成本练习之后&#xff0c;您应该能够确定给定 IP 地…

MySQL之查询性能优化(十二)

查询性能优化 优化COUNT()查询 4.使用近似值 有时候某些业务场景并不要求完全精确的COUNT值&#xff0c;此时可以用近似值来代替。EXPLAIN出来的优化器估算的行数就是一个不错的近似值&#xff0c;执行EXPLAIN并不需要真正地去执行查询&#xff0c;所以成本很低。很多时候&am…

【消灭星星game】

“消灭星星”&#xff08;PopStar&#xff09;是一款非常受欢迎的益智游戏&#xff0c;游戏目标是在一个网格中消除相同颜色的星星&#xff0c;一次消除的星星数量越多&#xff0c;得分越高。以下是一个简化版的消灭星星游戏的Python代码示例&#xff0c;用于演示基本的游戏逻辑…

智能数据分析(2)Lecture 9-11

Lecture 9: Feature Analysis and Dimensionality Reduction 特征选择&#xff08;Feature Selection&#xff09; 特征选择的定义与目标 定义&#xff1a;特征选择指的是从原始特征集中选择一个子集&#xff0c;以减少特征的数量并提升模型的性能。选择的特征子集应当能最好…

【python】python商业客户流失数据模型训练分析可视化(源码+数据集+课程论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

基本通信设备

1、 网卡 &#xff08;1&#xff09;负责将终端机连入网络 &#xff08;2&#xff09;计算机通过网卡接入网络&#xff08;有线、无线&#xff09; 2、 交换机 &#xff08;1&#xff09;连接终端机&#xff0c;构建网段 &#xff08;2&#xff09;负责网段内…

CentOS 7基础操作08_Linux查找目录和文件

1、which命令——查找用户所执行的命令文件存放的目录 which命令用于查找Linux命令程序并显示所在的具体位置.其搜索范围主要由用户的环境变量PATH决定(可以执行言echo sPATH”命令查看),这个范围也是Linux操作系统在执行命令或程序时的默认搜索路径。 which命令使用要查找的命…

论文复现:Track to Detect and Segment: An Online Multi-Object Tracker

论文下载链接&#xff1a;链接 简单介绍&#xff1a;大多数在线多目标跟踪器在神经网络中独立执行目标检测&#xff0c;无需任何跟踪输入。在本文中提出了一种新的在线联合检测和跟踪模型TraDeS&#xff08;TRAck to DEtect and Segment&#xff09;&#xff0c;利用跟踪线索…

一个例子了解c++的指针数组和数组指针

c的指针数组和数组指针容易混淆&#xff0c;所以我们加个字&#xff1a; 指针的数组和数组的指针 所谓指针数组&#xff0c;就是指针的数组&#xff0c;就是由指针组成的数组。重点在后面的两个字&#xff1a;数组 所谓数组指针&#xff0c;就是数组的指针&#xff0c;就是指向…

基于协调过滤算法商品推荐系统的设计#计算机毕业设计

基于协调过滤算法商品推荐系统的设计#计算机毕业设计 管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;商品管理&#xff0c;论坛管理&#xff0c;商品资讯管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;论坛&#xf…

MySQL-二进制部署-配置systemctl管理脚本(一)

一 二进制部署MySQL 参考二进制部署mysql 二 MySQL启动&关闭命令 mysqld_sqfe 是 mysqld 父进程&#xff0c;用那个启动都可以 ##启动命令 /usr/local/mysql/bin/mysqld_safe --defaults-file/data/mysql/conf/my.cnf & /usr/local/mysql/bin/mysqld --defaults-fil…

数字校园的优势有哪些

数字化时代下&#xff0c;数字校园已成为教育领域一股显著趋势。数字校园旨在借助信息技术工具对传统校园进行改造&#xff0c;提供全新的教学、管理和服务方式。那么&#xff0c;数字校园究竟具备何种优势&#xff1f;现从三个方面为您详细介绍。 首先&#xff0c;数字校园为教…

STM32项目分享:智能家居(机智云)系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板及元器件图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; https://www.bilibili.c…

如何使用ERC-20与Sui Coin标准创建Token

区块链使用tokens作为传递价值的基本手段。它们可以是区块链的原生交换单位&#xff0c;也可以是应用中的交换单位&#xff0c;甚至可以在游戏世界中用作货币。tokens还支持Sui和其他区块链上的强大DeFi活动。 以太坊使用ERC-20标准来创建tokens&#xff0c;借用智能合约&…

步态控制之ZMP

零力矩点(Zero Moment Point,ZMP)概述 ZMP步态控制是人形机器人步态控制中的一个关键概念,旨在确保机器人在行走或站立过程中保持平衡。ZMP是指机器人接触面上力矩为零的点,确保在该点上机器人不会倾倒。这个示例展示了ZMP步态控制的基本原理和实现方法。实际应用中,机器…

Redisson 源码分析 —— 调试环境搭建

本文基于 Redisson 3.11.4-SNAPSHOT 版本 依赖工具 MavenGitJDKIntelliJIDEA 源码拉取 从官方仓库 https://github.com/redisson/redisson Fork 出属于自己的仓库。 为什么要 Fork &#xff1f;既然开始阅读、调试源码&#xff0c;我们可能会写一些注释&#xff0c;有了自…

【Spring Cloud】Ribbon详细介绍及底层原理分析

目录 核心功能 Ribbon 的工作原理 底层原理及代码详解 1. ServerList 2. IRule 3. IPing 4. ServerListUpdater 使用场景 实际使用示例 1. 使用 RestTemplate 与 Ribbon 集成 2. 使用 Feign 与 Ribbon 集成 Ribbon 是 Netflix 开源的一款客户端负载均衡器&#xff0…

算法训练营day04

一、24. 两两交换链表中的节点 题目链接&#xff1a;https://leetcode.cn/problems/swap-nodes-in-pairs/description/ 文章讲解&#xff1a;https://programmercarl.com/0024.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.h…

国产操作系统上Vim的详解03--使用Vundle插件管理器来安装和使用插件 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;国产操作系统上Vim的详解03–使用Vundle插件管理器来安装和使用插件 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇在国产操作系统上使用Vundle插件管理器来安装和使用Vim插件的详解文章。Vundle是Vim的一款强大的插…