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

天津建设银行网站首页迪庆州住房和城乡建设局网站

天津建设银行网站首页,迪庆州住房和城乡建设局网站,wordpress加导航菜单,论坛内网站怎么建设【问题描述】[中等] 【解答思路】 1. 深度优先搜索 使用深度优先搜索实现标记操作。在下面的代码中#xff0c;我们把标记过的字母 O 修改为字母 A。 复杂度 class Solution {int[] dx {1, -1, 0, 0};int[] dy {0, 0, 1, -1};public void solve(char[][] board) {int n …【问题描述】[中等] 【解答思路】 1. 深度优先搜索 使用深度优先搜索实现标记操作。在下面的代码中我们把标记过的字母 O 修改为字母 A。 复杂度 class Solution {int[] dx {1, -1, 0, 0};int[] dy {0, 0, 1, -1};public void solve(char[][] board) {int n board.length;if (n 0) {return;}int m board[0].length;Queueint[] queue new LinkedListint[]();for (int i 0; i n; i) {if (board[i][0] O) {queue.offer(new int[]{i, 0});}if (board[i][m - 1] O) {queue.offer(new int[]{i, m - 1});}}for (int i 1; i m - 1; i) {if (board[0][i] O) {queue.offer(new int[]{0, i});}if (board[n - 1][i] O) {queue.offer(new int[]{n - 1, i});}}while (!queue.isEmpty()) {int[] cell queue.poll();int x cell[0], y cell[1];board[x][y] A;for (int i 0; i 4; i) {int mx x dx[i], my y dy[i];if (mx 0 || my 0 || mx n || my m || board[mx][my] ! O) {continue;}queue.offer(new int[]{mx, my});}}for (int i 0; i n; i) {for (int j 0; j m; j) {if (board[i][j] A) {board[i][j] O;} else if (board[i][j] O) {board[i][j] X;}}}} } 2. 广度优先搜索 以使用广度优先搜索实现标记操作。在下面的代码中我们把标记过的字母 O 修改为字母 A 时间复杂度O(N) 空间复杂度O(1) class Solution {int[] dx {1, -1, 0, 0};int[] dy {0, 0, 1, -1};public void solve(char[][] board) {int n board.length;if (n 0) {return;}int m board[0].length;Queueint[] queue new LinkedListint[]();for (int i 0; i n; i) {if (board[i][0] O) {queue.offer(new int[]{i, 0});}if (board[i][m - 1] O) {queue.offer(new int[]{i, m - 1});}}for (int i 1; i m - 1; i) {if (board[0][i] O) {queue.offer(new int[]{0, i});}if (board[n - 1][i] O) {queue.offer(new int[]{n - 1, i});}}while (!queue.isEmpty()) {int[] cell queue.poll();int x cell[0], y cell[1];board[x][y] A;for (int i 0; i 4; i) {int mx x dx[i], my y dy[i];if (mx 0 || my 0 || mx n || my m || board[mx][my] ! O) {continue;}queue.offer(new int[]{mx, my});}}for (int i 0; i n; i) {for (int j 0; j m; j) {if (board[i][j] A) {board[i][j] O;} else if (board[i][j] O) {board[i][j] X;}}}} } 【总结】 1. 细节 1.1 方向定义 int[] dx {1, -1, 0, 0}; int[] dy {0, 0, 1, -1}; 1.2 边界判断 if (mx 0 || my 0 || mx n || my m || board[mx][my] ! ‘O’) { continue; } 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。 2.DFS BFS 思路不复杂 注意细节 多写几遍 转载链接https://leetcode-cn.com/problems/surrounded-regions/solution/bei-wei-rao-de-qu-yu-by-leetcode-solution/
http://www.huolong8.cn/news/355112/

相关文章:

  • 济南商城网站开发wordpress微商城模板
  • 荥阳网站建设价格网站服务端做处理跨域
  • app网站怎么制作wordpress查看访问ip
  • No餐饮网站建设房山网站建设服务
  • 网站多ip 建设网站建设和管理规则
  • 有哪些是外国人做的网站吗建网站的公司哪个好
  • dede企业网站模板邮箱登录
  • 此网站不支持下载视频怎么办营口电商网站建设
  • 贵州新站优化高港区企业网站建设
  • 站长网站后台阿勒泰网站建设
  • 营销型网站管理方案禅城建网站
  • 修水县城乡建设局网站网站发帖做业务
  • 青海网站建设优化如何快速搭建自己的网站
  • 网站使用费用手表网站的结构
  • 成都网站建设交易宽带维修
  • 黑龙江省住房与城乡建设厅网站wordpress 云落主题
  • 咸宁网站建设价格湖北网站排名优化
  • 建设明星网站的目的安装wordpress出现500
  • 白佛网站建设天津市建设工程定额网站
  • 优化网站服务专业格泰网站建设
  • 建设网站注册会员手工建站与模板网站的区别
  • 网站认证是什么企业馆展厅设计公司
  • 做商城网站会不会被攻击wordpress anzhuo
  • uc做购物网站网站设计公司 国际
  • 网站右侧浮动广告百度首页排名优化多少钱
  • 泰州企业建站系统防伪网站建设
  • 做资源网站需要什么软件西安直播室网站建设
  • 温州网站制作优化淘宝做任务网站
  • 做明信片的网站天元建设集团有限公司李华
  • 北京网站建设主页广东建筑企业50强