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

二分查找5:852. 山脉数组的峰顶索引

链接:852. 山脉数组的峰顶索引 - 力扣(LeetCode)

题解:

事实证明,二分查找不局限于有序数组,非有序的数组也同样适用

二分查找主要思想在于二段性,即将数组分为两段。本体就可以将数组分为arr[i]>=arr[i-1]部分和arr[i]<arr[i-1]的两部分,我们实际上查找的是arr[i]>=arr[i-1]部分的最右端点,因此本题使用二分查找的右端点版本。

class Solution {
public:
    int peakIndexInMountainArray(vector<int>& arr) {
        int left=0;
        int right=arr.size()-1;
        int mid=left+(right-left+1)/2;
        while(left<right)
        {
            if(arr[mid]<arr[mid-1])
            {
                right=mid-1;
                mid=left+(right-left+1)/2;
            }
            else
            {
                left=mid;
                mid=left+(right-left+1)/2;
            }
        }
        return left;
    }
};

相关文章:

  • leetcode589 N叉树的前序遍历
  • ✨ MOS开关的非线性因素详解 ✨
  • 【数据结构】时间和空间复杂度
  • host模式容器compose建立记录
  • ASEG的鉴定
  • DAPP实战篇:使用web3.js实现前端输入钱包地址查询该地址的USDT余额—操作篇
  • 【智驾中的大模型 -1】自动驾驶场景中的大模型
  • 第四讲、Isaaclab与刚性物体交互
  • C++的*了又*
  • vue项目引入tailwindcss
  • 【基于开源insightface的人脸检测,人脸识别初步测试】
  • 本地部署DeepSeek-R1,搭建本地知识库
  • 查看容器内的eth0网卡对应宿主机上的哪块网卡
  • 视频云存储/对象存储EasyCVR视频汇聚平台对接S3存储不能持久化运行的原因排查
  • wkhtmltopdf生成图片的实践教程,包含完整的环境配置、参数解析及多语言调用示例
  • 13、nRF52xx蓝牙学习(GPIOTE组件方式的任务配置)
  • Python asyncio
  • C++ | 多态
  • 要查看 ​​指定 Pod 的资源限制(CPU/内存)
  • 图书管理系统(Python)
  • 网站用的横幅广告怎么做/内部优化
  • 如何建设网站/网站提交收录入口链接
  • 做直播网站赚钱吗/百度推广区域代理
  • 深圳网站建设论坛/营销对企业的重要性
  • 个人网站优秀/百度6大核心部门
  • 合肥大型网站建设公司/西安百度快照优化