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

天津南开做网站做公司网站要钱吗

天津南开做网站,做公司网站要钱吗,建设安全带官方网站,网站建设 阳江题目链接:130. 被围绕的区域 思路:使用两遍dfs,第一遍找到可以被替换区域的可进入点并记录,第二遍就从所有的可进入点入手遍历区域内所有点并替换。 这是我的思路,感觉还是挺新颖的(应该很少有人这样想我…

题目链接:130. 被围绕的区域

思路:使用两遍dfs,第一遍找到可以被替换区域的可进入点并记录,第二遍就从所有的可进入点入手遍历区域内所有点并替换。

这是我的思路,感觉还是挺新颖的(应该很少有人这样想我觉得),算是抛砖引玉了。

class Solution {int[] dx = {0, 0, 1, -1};int[] dy = {1, -1, 0, 0};boolean exit = false;// 判断是否可以退出public void solve(char[][] board) {// 定义一个记录矩阵判断某个点是否被走过int[][] record = new int[board.length][board[0].length];// 用一个数列存所有的可以进入点ArrayList<int[]> list = new ArrayList<>();// 遍历这个矩阵for(int i = 0; i < board.length; i++) {for (int j = 0; j < board[0].length; j++) {// 如果这个点没有被走过,并且是'O',则开始深度优先搜索if (record[i][j] == 0 && board[i][j] == 'O') {// 某个区域的进入点record[i][j] = 1;exit = false;dfsOnlyWalk(board, record, i, j);if(!exit) {list.add(new int[]{i, j});}}}}for(int[] ints : list) {int x = ints[0], y = ints[1];board[x][y] = 'X';dfsOnlyMark(board, record, x, y);}}public void dfsOnlyWalk(char[][] board, int[][] record, int i, int j) {//区域中有点位于边缘if(i == 0 || i == board.length - 1 || j == 0 || j == board[0].length - 1) {exit = true;}for(int k = 0; k < 4; k++) {int xx = i + dx[k];int yy = j + dy[k];if(xx >= 0 && xx < board.length && yy >= 0 && yy < board[0].length && record[xx][yy] == 0 && board[xx][yy] == 'O') {record[xx][yy] = 1;dfsOnlyWalk(board, record, xx, yy);}}}public void dfsOnlyMark(char[][] board, int[][] record, int i, int j) {for(int k = 0; k < 4; k++) {int xx = i + dx[k];int yy = j + dy[k];if(xx >= 0 && xx < board.length && yy >= 0 && yy < board[0].length && board[xx][yy] == 'O') {board[xx][yy] = 'X';dfsOnlyMark(board, record, xx, yy);}}}public static void main(String[] args) {Solution solution = new Solution();/** [["O","X","O","O","X","X"],["O","X","X","X","O","X"],["X","O","O","X","O","O"],["X","O","X","X","X","X"],["O","O","X","O","X","X"],["X","X","O","O","O","O"]]* */char[][] board = {{'O','X','O','O','X','X'},{'O','X','X','X','O','X'},{'X','O','O','X','O','O'},{'X','O','X','X','X','X'},{'O','O','X','O','X','X'},{'X','X','O','O','O','O'}};solution.solve(board);for(char[] chars : board) {for(char c : chars) {System.out.print(c + " ");}System.out.println();}}}

http://www.dtcms.com/wzjs/795107.html

相关文章:

  • 做电脑网站用什么软件有哪些方面优化设计的答案
  • 优秀网站大全网站首页快照应该怎么
  • 网站建设一般用什么编程wordpress站点标题添加
  • 国外做连接器平台网站如何把物流做免费网站
  • 百度搜索 相关网站免费网站浏览器
  • 公司备案网站负责人是谁2020最有效的网络推广方式
  • 有没有做图的网站全网最低价购物平台
  • 做网站用什么版本系统网页制作下载链接怎么做
  • 郑州网站建设 推广百度不收录网站描述
  • 网站制作前期所需要准备手机网站欢迎页面设计
  • 阿里建站系统成都app开发价格表
  • 做自媒体网站需要注册什么公司wordpress页面缓慢
  • 石家庄网站外包安徽服饰网站建设
  • 漯河网站制作公司做seo的网站推广
  • 有什么做家纺的网站欧洲外贸平台
  • 建设企业网站公中铁中基建设集团网站
  • 网站建设要什么软件有哪些申请域名后 怎么把网站部署上去
  • 献县网站建设泰州网站制作方案定制
  • 手机网站开发设计北京建网
  • 短视频网站的动画是怎么做的数字博物馆网站建设内容
  • dede网站迁移步骤小制作怎么做
  • 专业的上海网站建设学编程选什么专业
  • 安徽省建设厅网站职称申报请将已备案网站接入访问
  • 网站欢迎页面设计网站开发角色分类
  • 有没有免费网站制作沧浪企业建设网站价格
  • 网站开发保密合同有没有专门做家乡图片的网站
  • 做AMC12的题的网站网站建设公司网站建设专业品牌
  • 去什么网站找做电影的素材婚纱摄影网站优化技巧
  • 网站导航栏是什么微信小程序广告收益
  • 邯郸企业做网站推广大庆网站建设公司