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

seo怎样才能优化网站动易网站官网

seo怎样才能优化网站,动易网站官网,乐清发布网,怎么创建自己的公司网站在网格图中访问一个格子的最少时间 题目描述 给你一个 m x n 的矩阵 grid ,每个元素都为 非负 整数,其中 grid[row][col] 表示可以访问格子 (row, col) 的 最早 时间。也就是说当你访问格子 (row, col) 时,最少已经经过的时间为 grid[row][…

在网格图中访问一个格子的最少时间

题目描述

给你一个 m x n 的矩阵 grid ,每个元素都为 非负 整数,其中 grid[row][col] 表示可以访问格子 (row, col) 的 最早 时间。也就是说当你访问格子 (row, col) 时,最少已经经过的时间为 grid[row][col] 。

你从 最左上角 出发,出发时刻为 0 ,你必须一直移动到上下左右相邻四个格子中的 任意 一个格子(即不能停留在格子上)。每次移动都需要花费 1 单位时间。

请你返回 最早 到达右下角格子的时间,如果你无法到达右下角的格子,请你返回 -1 。

样例

样例输入

grid = [[0,1,3,2],[5,1,2,5],[4,3,8,6]]
grid = [[0,2,4],[3,2,1],[1,0,4]]

样例输出

7
解释:一条可行的路径为:
时刻 t = 0 ,我们在格子 (0,0) 。
时刻 t = 1 ,我们移动到格子 (0,1) ,可以移动的原因是 grid[0][1] <= 1 。
时刻 t = 2 ,我们移动到格子 (1,1) ,可以移动的原因是 grid[1][1] <= 2 。
时刻 t = 3 ,我们移动到格子 (1,2) ,可以移动的原因是 grid[1][2] <= 3 。
时刻 t = 4 ,我们移动到格子 (1,1) ,可以移动的原因是 grid[1][1] <= 4 。
时刻 t = 5 ,我们移动到格子 (1,2) ,可以移动的原因是 grid[1][2] <= 5 。
时刻 t = 6 ,我们移动到格子 (1,3) ,可以移动的原因是 grid[1][3] <= 6 。
时刻 t = 7 ,我们移动到格子 (2,3) ,可以移动的原因是 grid[2][3] <= 7 。
最终到达时刻为 7 。这是最早可以到达的时间。

-1
解释:没法从左上角按题目规定走到右下角。

提示

  • m == grid.length$
  • n==grid[i].lengthn == grid[i].lengthn==grid[i].length
  • 2<=m,n<=10002 <= m, n <= 10002<=m,n<=1000
  • 4<=m∗n<=1054 <= m * n <= 10^54<=mn<=105
  • 0<=grid[i][j]<=1050 <= grid[i][j] <= 10^50<=grid[i][j]<=105
  • grid[0][0]==0grid[0][0] == 0grid[0][0]==0

思路

题目还是昨天那个,但这是另一个方法,单调性还是很好看出来的,num越大越能从重点走到起点,反之越小越不能走到起点。然后就是check函数的可行性,简单分析后,也是具有可行性。

代码实现

class Solution {int[][] dir = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};private int[][] grid, vis;int m, n;public int minimumTime(int[][] grid) {if(grid[1][0] > 1 && grid[0][1] > 1) return -1;this.grid = grid;m = grid.length;n = grid[0].length;vis = new int[m][n];int l = Math.max(grid[m-1][n-1], m + n - 2);int r = (int)1e5 + m + n;while(l < r){int mid = (l + r) >> 1;if(check(mid)) r = mid;else l = mid + 1;}return l + (l + m + n) % 2;}private boolean check(int num){//  不知道为什么使用queue会超出空间使用范围。vis[m - 1][n - 1] = num;var q = new ArrayList<int[]>();q.add(new int[]{m - 1, n - 1});for(int t = num - 1; !q.isEmpty(); t--){var tmp = q;q = new ArrayList<int[]>();for(var cur : tmp){int i = cur[0], j = cur[1];for(var di : dir){int x = i + di[0], y = j + di[1];if(0 <= x && x < m && 0 <= y && y < n && vis[x][y] != num && grid[x][y] <= t){if(x == 0 && y == 0) return true;q.add(new int[]{x, y});vis[x][y] = num;}}}}return false;}
}
http://www.yayakq.cn/news/199352/

相关文章:

  • .net 网站开发流程个人网站免备案吗
  • 吉林市网站建设优化网站开发构成
  • 著名的国外设计网站有哪些网站风格类型是
  • 企业集团网站建设方案论文有哪些做应援的网站
  • aspnet网站开发实例教程pdf建设工程资讯哪个网站好
  • 资产负债表在哪个网站可以做静态网站如何共用一个头部和尾部
  • 网站建设 淄博 兼职wap网站开发价钱
  • 网站建设应注意哪些事项自己创建公众号免费吗
  • 做个网站需要多少钱?有没有旧装修要拆wordpress积分交换
  • 高端网站教建设企业做网站有什么好处坏处
  • 企业网站建设框架图做营销的一般逛哪些网站
  • 如何自己建设电影网站视频类网站开发经验
  • 怎样让自己做的网站被百度收录兼职学网页设计怎么样
  • 毕业设计 建设网站365房产网
  • 外贸多语言网站建设网站建设要多少钱怎样
  • 贵阳市网站开发全网商机app招标
  • 315晚会 网站建设公司做搜狗网站优化排名
  • 自助网站建设工具艾艺app开发公司
  • 最新网站源码下载网站建设怎么收费
  • 网站设计O2O平台上海公司注册核名官网
  • wordpress自定义分类查询搜索引擎优化seo论文
  • 做地产的设计网站邯郸网站设计邯郸网站制作
  • asp.net网站开发项...职业生涯规划大赛活动目的
  • 盐城市建设局网站设计备案资料省住房和城乡建设厅网站
  • 天猫网站的建设目标广州网站制作一般多少钱
  • 网站制作费用多少钱淘宝网站开发实训报告
  • 甘肃省住房和城乡建设厅注册中心网站首页wordpress怎么流量赚钱
  • 机关单位网站建设申请网站登录界面模板html
  • 可烦网站建设常州百度seo
  • 济南制作网站的公司吗jetpack wordpress