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

手机网站模板 html5 下载工具漳州做网站优化

手机网站模板 html5 下载工具,漳州做网站优化,网站中文字内容左右切换的js代码,平面设计类网站有哪些题目链接 Leetcode.130 被围绕的区域 mid 题目描述 给你一个 m x n的矩阵 board,由若干字符 X和 O,找到所有被 X围绕的区域,并将这些区域里所有的 O用 X填充。 示例 1: 输入:board [[“X”,“X”,“X”,“X”],[“X…

题目链接

Leetcode.130 被围绕的区域 mid

题目描述

给你一个 m x n的矩阵 board,由若干字符 'X''O',找到所有被 'X'围绕的区域,并将这些区域里所有的 'O''X'填充。

示例 1:

在这里插入图片描述

输入:board = [[“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”]]
解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的 ‘O’ 都不会被填充为 ‘X’。 任何不在边界上,或不与边界上的 ‘O’ 相连的 ‘O’ 最终都会被填充为 ‘X’。如果两个元素在水平或垂直方向相邻,则称它们是“相连”的。

示例 2:

输入:board = [[“X”]]
输出:[[“X”]]

提示:

  • m==board.lengthm == board.lengthm==board.length
  • n==board[i].lengthn == board[i].lengthn==board[i].length
  • 1<=m,n<=2001 <= m, n <= 2001<=m,n<=200
  • board[i][j]'X''O'

解法:dfs

我们先从 boardboardboard 的四周,与边界相邻的 board[i][j]=board[i][j] =board[i][j]= ’O'的区域记录下来,这些区域是不能被 'X'填充的。

接着,剩下的 board[i][j]=board[i][j] =board[i][j]= ’O'的区域才是能被 'X'填充的。

时间复杂度: O(mn)O(mn)O(mn)

C++代码:


class Solution {
public:void solve(vector<vector<char>>& g) {int m = g.size() , n = g[0].size();//记录是否被访问过bool vis[m][n];memset(vis,false,sizeof vis);function<void(int ,int,bool)> dfs = [&](int i,int j,bool mode) -> void{if(i < 0 || i >= m || j < 0 || j >= n || vis[i][j]) return;if(g[i][j] == 'X') return;vis[i][j] = true;if(mode) g[i][j] = 'X';dfs(i + 1,j,mode);dfs(i - 1,j,mode);dfs(i,j + 1,mode);dfs(i,j - 1,mode);};//记录从左右两边开始的 不能被 'X' 填充的位置for(int i = 0;i < m;i++){if(g[i][0] == 'O' && !vis[i][0]) dfs(i,0,false);if(g[i][n-1] == 'O' && !vis[i][n-1]) dfs(i,n-1,false);}//记录从上下两边开始的 不能被 'X' 填充的位置for(int j = 0;j < n;j++){if(g[0][j] == 'O' && !vis[0][j]) dfs(0,j,false);if(g[m-1][j] == 'O' && !vis[m-1][j]) dfs(m-1,j,false);}//剩下的 g[i][j] == 'O' 并且没有被访问过的位置 都可以被 'X'填充for(int i = 1;i < m - 1;i++){for(int j = 1;j < n - 1;j++){if(g[i][j] == 'O' && !vis[i][j]) dfs(i,j,true);}}}
};
http://www.yayakq.cn/news/582089/

相关文章:

  • 资阳网站优化外国网站设计素材
  • 平面电商网站建设wordpress 已登录用户登录
  • 顺德人做多上哪个网站做环保是跑还是网站卖
  • 建设网站需要哪些认证企业文化ppt
  • 成都网站建设哪家好美食网页设计免费模板
  • wordpress自定义字段筛选网站优化网站
  • 腾讯云网站建设小程序商店多少钱
  • 网站建设书籍 知乎无锡谷歌推广
  • 上海jsp网站建设wordpress 网校
  • 做代理的项目在哪个网站天津河东做网站哪家好
  • 一个空间放两个php网站网站开发课程报告心得
  • 微网站怎么开发网站鼠标移上去显示层
  • vuepress wordpress西安优化外包
  • 西安给大学做网站公司沧州万网信息技术有限公司
  • win7记事本做网站湖南省建筑信息网
  • 如何做简易个人网站wordpress 全屏图片
  • 手机网站怎么做的好搭建了什么样的平台
  • 昆明做网站哪家北京官方网站网
  • 有谁有做卫生纸巾的网站wordpress文章禁止搜索
  • 怎么做网站旺铺装修怎么看网站开发语言
  • 个人备案能做公司网站吗网站制作现状解决方案
  • 网站建设报价方案对比电子商务网站开发应遵循的基本原则
  • net网站开发视频北京开发网站建设
  • seo网站推广服务自己做个网站的流程
  • 网站开发有什么工作内容网站制作建
  • 怎么用vs做网站开发网站策划与建设阶段的推广
  • 宁波免费建站seo排名wordpress登陆代码
  • 网站中微信公众号链接怎么做室内设计作品集案例赏析
  • wordpress 网址杭州百度优化
  • div做网站排版wordpress会员到期