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

建设网站 万网软装设计理念

建设网站 万网,软装设计理念,网络营销课程论文,网站建设框架图第一题 695. 岛屿的最大面积 本题解法#xff1a;采用bfs的算法#xff1b; 本题使用象限数组的遍历方法和定义布尔数组vis来遍历每一个元素的上下左右元素#xff0c;防治被遍历的元素被二次遍历#xff1b; 本题具体分析如上题故事#xff0c;但是由于要求区域的最大面…第一题 695. 岛屿的最大面积 本题解法采用bfs的算法         本题使用象限数组的遍历方法和定义布尔数组vis来遍历每一个元素的上下左右元素防治被遍历的元素被二次遍历         本题具体分析如上题故事但是由于要求区域的最大面积所以在bfs方法中找到合适的元素进行入队列操作时我们要对其个数进行统计 至此代码如下 class Solution {//象限坐标数组int[] dx {0,0,1,-1};int[] dy {1,-1,0,0};boolean[][] vis new boolean[51][51];int m,n;public int maxAreaOfIsland(int[][] grid) {m grid.length;n grid[0].length;int ret 0;//统计最大面积for(int i 0;i m ;i){for(int j 0;j n ;j){if(grid[i][j] 1 !vis[i][j]){ret Math.max(ret,bfs(grid,i,j));}}}return ret;}public int bfs(int[][] grid,int i,int j){int cot 0;Queueint[] q new LinkedList();q.add(new int[]{i,j});vis[i][j] true;cot;while(!q.isEmpty()){int[] t q.poll();int a t[0],b t[1];for(int s 0;s 4;s){int x a dx[s],y b dy[s];if(x 0 x m y 0 y n grid[x][y] 1 !vis[x][y]){q.add(new int[]{x,y});vis[x][y] true;cot;}} }return cot;} } 第二题 130. 被围绕的区域 解法bfs层序遍历 解题步骤如下 步骤一         如上图所示首先遍历第一行最后一行第一列最后一列的元素查找与其相邻的元素并将这些元素o变成符号* 步骤二         遍历整个图像中所有的元素遇到的o字符变成x字符遇到的*字符变成o字符如此满足题意 至此代码如下 class Solution {//象限坐标数组int[] dx {0,0,1,-1};int[] dy {1,-1,0,0};int m,n;public void solve(char[][] board) {m board.length;n board[0].length;//1、先处理边界的0全部修改成*//修改第一行和最后一行for(int j 0;j n;j){if(board[0][j] O ) bfs(board,0,j);if(board[m-1][j] O ) bfs(board,m-1,j);}//修改第一列和最后一列for(int i 0;i m;i){if(board[i][0] O ) bfs(board,i,0);if(board[i][n-1] O ) bfs(board,i,n-1);}//2、还原将剩下的0变成x将边缘的*变为0for(int i 0;i m;i){for(int j 0;j n ;j){if(board[i][j] O) board[i][j] X;else if(board[i][j] *) board[i][j] O;}}}public void bfs(char[][] board,int i,int j){Queueint[] q new LinkedList();q.add(new int[]{i,j});board[i][j] *;while(!q.isEmpty()){int[] t q.poll();int a t[0],b t[1];for(int s 0;s 4;s){int x a dx[s],y b dy[s];if(x 0 x m y 0 y n board[x][y] O ){board[x][y] *;q.add(new int[]{x,y});}} }} } 第三题 1926. 迷宫中离入口最近的出口 本题的题目类型可以理解为边权为1的最短路问题         迷宫游戏其数据结构模拟一个迷宫矩阵当每一个二维坐标相对性的字符为则是路障坐标对应的字符为.,则表示是可以前进的路当前我们所在的位置就是一个二维坐标对应的坐标         由于我们的安全出口的路线就是从给定的位置开始移动移动到边界且在所能到达安全出口的所有路线里面返回最短的路线即最少的移动次数         我们在遍历当前位置的上下左右合法位置的时候采用的象限数组的方法同时由于移动之后我们不能原路返回所以采用定义布尔数组vis给每一个遍历过的位置在该数组里面定义为true防治二次遍历         我们将初识位置放于队列中将该位置的上下左右位置都进行过遍历每遍历到一个合法的位置就将该位置放于队列中且定义的统计移动次数的cot加一当遍历到矩阵的边界时候返回最短的cot变量         至此代码如下 class Solution {//象限坐标数组int[] dx {0,0,1,-1};int[] dy {1,-1,0,0};public int nearestExit(char[][] maze, int[] entrance) {int m maze.length,n maze[0].length;boolean[][] vis new boolean[m][n];Queueint[] q new LinkedList();q.add(new int[]{entrance[0],entrance[1]});vis[entrance[0]][entrance[1]] true;int step 0;while(!q.isEmpty()){step;int sz q.size();for(int i 0;i sz;i){int[] t q.poll();int a t[0],b t[1];for(int j 0;j4;j){int x a dx[j],y b dy[j];if(x 0 x m y 0 y n maze[x][y] . !vis[x][y]){//判断是否已经走出出口if(x 0|| x m-1 || y 0 || y n-1) return step;q.add(new int[]{x,y});vis[x][y] true;}}}}return -1;} } ps本次的内容就到这里了如果对你有所帮助的话就请一键三连哦
http://www.pierceye.com/news/9881/

相关文章:

  • 公司网站后台怎么上传视频wordpress 黑客主题
  • 郑州网站制作设计郑州建设信息网可以领证书吗
  • wordpress网站打包app医院网站建设论证报告
  • 免费企业建站浙江省建设工程质量管理协会网站
  • 泗县网站建设与推广培训哈尔滨网站建设公司名字
  • 和君设计专业网站建设公司做犯法任务的网站
  • 厦门怎么没有 网站备案wordpress 密码修改
  • 怎么做简单地网站网站配色 要用什么原则
  • 百度h5可以做网站吗wordpress主题网站模板
  • 智能建站服务平台电子版产品图册怎么制作
  • 网站开发实施计划与安排网站建设课程职业教育机构
  • 在哪做网站好wordpress不能选择数据库
  • 台州 做网站php协会网站源码
  • 网站建设的活动方案做婚恋网站挣钱吗
  • wordpress外贸网站模板免费的优质网站
  • 如何给自家网站做关键词优化学习网站后台维护
  • 科网站建设广告公司简介模板及介绍
  • 国内装饰行业网站开发做网站怎样收费的
  • wordpress模板网站模板旅游类网站做百度竞价
  • 金色世纪做网站的是哪个岗位买网站注册人数
  • 物联网系统个人网站做seo
  • 程序员做电商网站的公司好吗wordpress hook参数
  • 常州孟河镇建设工程交易网站免费商城版网站制作
  • 网站 icp开网站备案流程
  • 古典风网站视频剪辑培训班一般学费多少
  • 免费python在线网站变装小说wordpress
  • 重庆潼南网站建设公司顺义区做网站
  • 网站开发湛江中国建设银行青海分行网站
  • 镇江手机网站建设如何检测网站被搜索引擎惩罚了
  • 建设网站赚钱鞍山专业做网站公司