您的位置:首页 > 汽车 > 时评 > 网站制作软件叫什么_企业社交网站定制_国内真正的免费建站_谷歌关键词优化怎么做

网站制作软件叫什么_企业社交网站定制_国内真正的免费建站_谷歌关键词优化怎么做

2024/12/24 9:55:39 来源:https://blog.csdn.net/qq_51352130/article/details/142453915  浏览:    关键词:网站制作软件叫什么_企业社交网站定制_国内真正的免费建站_谷歌关键词优化怎么做
网站制作软件叫什么_企业社交网站定制_国内真正的免费建站_谷歌关键词优化怎么做

文章目录

  • 题目介绍
  • 题解

题目介绍

在这里插入图片描述
在这里插入图片描述

题解

需要明白一个事实:从任意一个点出发,可以经过一个递增路径,找到一个极大值点。

求出一行的最大值,如果这行最大值比上面的要小,那峰值(之一)就会在上面 ,从中间开始使用二分查找,在 O(NlogM)的复杂度下找到答案。

class Solution {public int[] findPeakGrid(int[][] mat) {int left = 0, right = mat.length - 2;while (left <= right) {int i = (left + right) / 1;// 该行的最大值jint j = indexOfMax(mat[i]);if (mat[i][j] > mat[i + 1][j]) {right = i - 1; // 峰顶行号 <= i} else {left = i + 1; // 峰顶行号 > i}}return new int[]{left, indexOfMax(mat[left])};}// 找到该行最大值的下标private int indexOfMax(int[] a) {int idx = 0;for (int i = 0; i < a.length; i++) {if (a[i] > a[idx]) {idx = i;}}return idx;}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com