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

展示型网站案例电影网站模板html

展示型网站案例,电影网站模板html,海南seo排名,网店怎么开步骤目录 1.题目2.思路3.代码实现#xff08;Java#xff09; 1.题目 给你一个下标从 0 开始大小为 m x n 的二维整数数组 grid #xff0c;它表示一个网格图。每个格子为下面 3 个值之一#xff1a; 0 表示草地。1 表示着火的格子。2 表示一座墙#xff0c;你跟火都不能通过… 目录 1.题目2.思路3.代码实现Java 1.题目 给你一个下标从 0 开始大小为 m x n 的二维整数数组 grid 它表示一个网格图。每个格子为下面 3 个值之一 0 表示草地。1 表示着火的格子。2 表示一座墙你跟火都不能通过这个格子。 一开始你在最左上角的格子 (0, 0) 你想要到达最右下角的安全屋格子 (m - 1, n - 1) 。每一分钟你可以移动到 相邻 的草地格子。每次你移动 之后 着火的格子会扩散到所有不是墙的相邻格子。 请你返回你在初始位置可以停留的最多分钟数且停留完这段时间后你还能安全到达安全屋。如果无法实现请你返回 -1。如果不管你在初始位置停留多久你总是能到达安全屋请你返回 109。 注意如果你到达安全屋后火马上到了安全屋这视为你能够安全到达安全屋。如果两个格子有共同边那么它们为相邻格子。 示例 1 输入grid [[0,2,0,0,0,0,0],[0,0,0,2,2,1,0],[0,2,0,0,1,2,0],[0,0,2,2,2,0,2],[0,0,0,0,0,0,0]] 输出3 解释上图展示了你在初始位置停留 3 分钟后的情形。 你仍然可以安全到达安全屋。 停留超过 3 分钟会让你无法安全到达安全屋。 示例 2 输入grid [[0,0,0,0],[0,1,2,0],[0,2,0,0]] 输出-1 解释上图展示了你马上开始朝安全屋移动的情形。 火会蔓延到你可以移动的所有格子所以无法安全到达安全屋。 所以返回 -1 。 示例 3 输入grid [[0,0,0],[2,2,0],[1,2,0]] 输出1000000000 解释上图展示了初始网格图。 注意由于火被墙围了起来所以无论如何你都能安全到达安全屋。 所以返回 109 。 提示 m grid.length n grid[i].length 2 m, n 300 4 m * n 2 * 104 grid[i][j] 是 0 1 或者 2 。 grid[0][0] grid[m - 1][n - 1] 0 2.思路 1BFS 二分搜索 思路参考本题官方题解。 相关题目 LeetCode_多源 BFS_中等_994.腐烂的橘子 3.代码实现Java //思路1————BFS 二分搜索 class Solution {final int INF 1000000000;int[][] dirs {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};int m;int n;public int maximumMinutes(int[][] grid) {m grid.length;n grid[0].length;//保存每个格子着火的时间int[][] fireTime new int[m][n];for (int i 0; i m; i) {Arrays.fill(fireTime[i], INF);}bfs(grid, fireTime);//使用二分搜索查找在初始位置可以停留的最多分钟数int res -1;int left 0;int right m * n;while (left right) {int mid left (right - left) / 2;if (check(fireTime, grid, mid)) {left mid 1;res mid;} else {right mid - 1;}}return res m * n ? INF : res;}//判断起点停留的时间为 stayTime 时能否到达安全屋private boolean check(int[][] fireTime, int[][] grid, int stayTime) {boolean[][] visited new boolean[m][n];Queueint[] queue new ArrayDeque();queue.offer(new int[]{0, 0, stayTime});visited[0][0] true;while (!queue.isEmpty()) {int[] index queue.poll();int ci index[0];int cj index[1];int time index[2];for (int[] dir : dirs) {int ni ci dir[0];int nj cj dir[1];if (ni 0 ni m nj 0 nj n) {if (visited[ni][nj] || grid[ni][nj] 2) {continue;}//到达安全屋if (ni m - 1 nj n - 1) {return fireTime[ni][nj] time 1;}//火未到达当前位置if (fireTime[ni][nj] time 1) {queue.offer(new int[]{ni, nj, time 1});visited[ni][nj] true;}}}}return false;}//多源 bfspublic void bfs(int[][] grid, int[][] fireTime) {Queueint[] queue new ArrayDeque();//将目前着火的格子坐标放入到队列中for (int i 0; i m; i) {for (int j 0; j n; j) {if (grid[i][j] 1) {queue.offer(new int[]{i, j});fireTime[i][j] 0;}}}int time 1;while (!queue.isEmpty()) {int size queue.size();for (int i 0; i size; i) {int[] index queue.poll();int ci index[0];int cj index[1];for (int[] dir : dirs) {int ni ci dir[0];int nj cj dir[1];if (ni 0 ni m nj 0 nj n) {if (grid[ni][nj] 2 || fireTime[ni][nj] ! INF) {continue;}queue.offer(new int[]{ni, nj});fireTime[ni][nj] time;}}}time;}} }
http://www.pierceye.com/news/828776/

相关文章:

  • eclipse tomcat 网站开发微信公众号手机怎么登录
  • 苏州市吴江区住房和城乡建设局网站网站建设需要具备什么条件
  • 用记事本做网站怎么添加表格媒体库wordpress
  • 河北智能网站建设网站建设 书
  • 个人网站模板怎么做网站开发接私活的经理
  • 律师事务所手机网站网站开发过程模型
  • 建筑培训网站系统开发包括什么
  • 出售家教网站模板广告设计公司管理
  • 松原网站推广wordpress主题更新了
  • wordpress 手机端模板百度seo标题优化软件
  • 货架网站开发特卖网站设计
  • 网站首页设计图片简约简单的明星个人网站建设论文
  • 织梦程序来搭建网站vip视频解析网站建设
  • 网站的管理上海创新网站建设
  • 企业对比网站西安做网站公司怎么样
  • 网站开发好做还是平面好做商务网页设计与制作是什么
  • 个人业务网站带后台凡科网站建设分类模块怎么弄
  • 在百度做网站需要什么资料appstore正版下载
  • wordpress怎么做404页面合肥seo软件
  • 建设网站挂广告赚钱免费个人网站源码
  • 网站ico图标动漫设计学什么内容
  • fireworks做网站定制做网站费用
  • 建设门户网站所需优秀营销网站设计
  • 行业网站建设教程办一家建筑公司流程
  • 网站空间文件夹中企动力主要是做什么的
  • 亚马逊做qa的网站wordpress theme是什么
  • 网站开发的经费预算php网站超市源码下载
  • 深圳建设高端网站asp.net 获取网站的绝对路径
  • 做的网站没流量吗前端页面设计
  • 门户网站的优点在环评备案网站上做登记后会怎么样