力扣1901.寻找峰值II

力扣1901.寻找峰值II

    • 二分每一行 并用函数找出每一行中最大值的下标
    • 若最大值比其下面相邻的元素大 则上方一定存在峰值
    • 若最大值比其下面相邻的元素小 则下方一定存在峰值
cpp 复制代码
  class Solution {
      int indexmax(vector<int> &a)
      {
          return max_element(a.begin(),a.end()) - a.begin();
      }
  public:
      vector<int> findPeakGrid(vector<vector<int>>& mat) {
          int l = 0,r = mat.size() - 1;
          while(l < r)
          {
              //行
              int i = l + r >> 1;
              //列
              int j = indexmax(mat[i]);
              if(mat[i][j] > mat[i+1][j]) r = i;
              else l = i + 1;
          }
          return {l,indexmax(mat[l])};
      }
  };
相关推荐
Gigavision3 分钟前
MMPD数据集 最新Mamba算法 源码+数据集 下载方式
算法
Xの哲學11 分钟前
Linux UPnP技术深度解析: 从设计哲学到实现细节
linux·服务器·网络·算法·边缘计算
歌_顿12 分钟前
GPT 系列学习总结(1-3)
算法
业精于勤的牙15 分钟前
最长特殊序列(三)
算法
柏木乃一15 分钟前
进程(6)进程切换,Linux中的进程组织,Linux进程调度算法
linux·服务器·c++·算法·架构·操作系统
皮卡蛋炒饭.16 分钟前
前缀和与差分
算法
0x7F7F7F7F34 分钟前
算法竞赛数学知识大全
算法
业精于勤的牙1 小时前
最长特殊序列(二)
java·开发语言·算法
yong99901 小时前
C#实现OPC客户端与S7-1200 PLC的通信
开发语言·网络·算法·c#
yaoh.wang1 小时前
力扣(LeetCode) 111: 二叉树的最小深度 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·深度优先