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

个人如何制作网站看书网站排名

个人如何制作网站,看书网站排名,上海 互联网公司,品牌的互联网推广题目 1901. 寻找峰值 II 一个 2D 网格中的 峰值 是指那些 严格大于 其相邻格子(上、下、左、右)的元给你一个 从 0 开始编号 的 m x n 矩阵 mat ,其中任意两个相邻格子的值都 不相同 。找出 任意一个 峰值 mat[i][j] 并 返回其位置 [i,j] 。你可以假设整个矩阵周边…

题目

  • 1901. 寻找峰值 II
  • 一个 2D 网格中的 峰值 是指那些 严格大于 其相邻格子(上、下、左、右)的元
  • 给你一个 从 0 开始编号 的 m x n 矩阵 mat ,其中任意两个相邻格子的值都 不相同 。找出 任意一个 峰值 mat[i][j] 并 返回其位置 [i,j] 。
  • 你可以假设整个矩阵周边环绕着一圈值为 -1 的格子。
  • 要求必须写出时间复杂度为 O(m log(n)) 或 O(n log(m)) 的算法
  • m == mat.length
  • n == mat[i].length
  • 1 <= m, n <= 500
  • 1 <= mat[i][j] <= 10 ^ 5
  • 任意两个相邻元素均不相等.

解法

Java + 列最大值 + 二分

第 1 步:

  • 类似:Leetcode 162. 寻找峰值(Java + 二分)
  • 在行内找严格大于左右的元素,再找每列的最大值(一定是大于上下)
  • 一定需要找该列的最大值,如果这也二分找极大值(仅严格大于左右),那么可能找到非该列最大值从而导致 左/右 列误判

第 2 步:

  • 具体做法:
    • 先找中间=mid 列,找到俩最大值 mat[maxRow][mid] ,元素一定严格大于上下的元素
    • 如果 mat[maxRow][mid] 严格大于左右的元素,则直接返回,否则下一步
    • 如果 mat[maxRow][mid] > mat[maxRow][mid+1] 则 maxRow 左边列一定存在,否则 maxRow 右边列一定存在
  • 时间复杂度:O(m*logn),空间复杂度:O(1)

代码

/*** Java + 列最大值 + 二分:** 第 1 步:* 类似:162. 寻找峰值 FindPeakElement,在行内找严格大于左右的元素,再找每列的最大值(一定是大于上下)* 一定需要找该列的最大值,如果这也二分找极大值(仅严格大于左右),那么可能找到非该列最大值从而导致 左/右 列误判** 第 2 步:* 具体做法:*     * 先找中间=mid 列,找到俩最大值 mat[maxRow][mid] ,元素一定严格大于上下的元素*     * 如果 mat[maxRow][mid] 严格大于左右的元素,则直接返回,否则下一步*     * 如果 mat[maxRow][mid] > mat[maxRow][mid+1] 则 maxRow 左边列一定存在,否则 maxRow 右边列一定存在* 时间复杂度:O(m*logn),空间复杂度:O(1)***/public int[] findPeakGrid(int[][] mat) {int leftCol = 0;int rightCol = mat[0].length - 1;int resCol = 0;while (leftCol <= rightCol) {int midCol = ((rightCol - leftCol) >> 1) + leftCol;int maxRow = getMaxRow(mat, midCol);if ((midCol == 0 || mat[maxRow][midCol] > mat[maxRow][midCol - 1])&& (midCol == mat[0].length - 1 || mat[maxRow][midCol] > mat[maxRow][midCol + 1])) {resCol = midCol;break;}if (midCol == mat[0].length - 1 || mat[maxRow][midCol] > mat[maxRow][midCol + 1]) {rightCol = midCol - 1;} else {leftCol = midCol + 1;}}return new int[]{getMaxRow(mat, resCol), resCol};}private int getMaxRow(int[][] mat, int resCol) {int maxRow = 0;for (int i = 0; i < mat.length; i++) {if (mat[maxRow][resCol] < mat[i][resCol]) {maxRow = i;}}return maxRow;}
http://www.hkea.cn/news/655346/

相关文章:

  • 义乌做网站武汉seo推广优化公司
  • 济宁哪家网站建设公司正规谷歌浏览器 免费下载
  • 有没有女的做任务的网站广东省新闻
  • seo长尾关键词优化如何做网站推广优化
  • 网站搭建服务合同seo排名赚
  • 东莞有什么比较好的网站公司苏州关键词排名系统
  • 做中国供应商免费网站有作用吗浙江网站推广运营
  • mysql8 wordpress百度推广优化是什么意思
  • 做装修广告网站好seo推广公司招商
  • 城市模拟建设游戏网站今天最新的新闻头条新闻
  • 手机网站自适应代码品牌网络营销策划方案
  • 个人网站建设在哪里百度资源搜索平台
  • 云空间免费空间北京网站优化校学费
  • 个人网站做导航网站项目推广平台有哪些
  • 威海住房建设局网站培训学校资质办理条件
  • 做趣味图形的网站免费线上培训平台
  • 女生做网站前端设计师成都网站seo
  • 濮阳建设银行官方网站搜索引擎优化的对比
  • 完全删除wordpressseo小白入门
  • 做网站常用到的css标签什么软件可以找客户资源
  • 有做销售产品的网站有哪些新闻头条今日新闻
  • 深圳自己做网站 服务器优化的近义词
  • 网站开发职业工资网站推广上首页
  • 宝安附近公司做网站建设多少钱深圳百度开户
  • 成都紧急通知seo网络营销招聘
  • 思坎普网站建设如何做营销推广
  • 太原网站优化公司有域名和服务器怎么建网站
  • 网站策划的前景seo 推广
  • wordpress导入网站文章怎么联系百度人工客服
  • 制冷机电工程东莞网站建设简阳seo排名优化培训