每天一道算法题【蓝桥杯】【山脉数组的峰顶索引】

思路

二分查找算法

注意二段性

两段性为peak前arr[mid] < arr[mid + 1]

peak后arr[mid] >arr[mid + 1]

c++ 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<vector>
using namespace std;
class Solution {
public:
    int peakIndexInMountainArray(vector<int>& arr) {
        int left = 0, right = arr.size() - 1, mid = 0;    //置二分查找左右指针
        while (left < right)
        {
    mid = left + (right - left) / 2;
    if (arr[mid] < arr[mid + 1])left = mid + 1; //两段性为peak前arr[mid] < arr[mid + 1]
    else right = mid;        //peak后arr[mid] >arr[mid + 1]
           
        }
        return left;
    }
};
相关推荐
风筝在晴天搁浅3 小时前
字节高频题 小于n的最大数
算法
LabVIEW开发3 小时前
LabVIEW水力机组空蚀在线监测
算法·labview·labview知识·labview功能·labview程序
AI科技星3 小时前
科幻艺术书本封面:《全域数学》第一部·数术本源 第三卷 代数原本(P95-141)完整五级目录【乖乖数学】
算法·机器学习·数学建模·数据挖掘·量子计算
风筝在晴天搁浅3 小时前
LeetCode 92.反转链表Ⅱ
算法·leetcode·链表
王老师青少年编程3 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【贪心与二分判定】:数列分段 Section II
c++·算法·贪心·csp·信奥赛·二分判定·数列分段 section ii
zh_xuan3 小时前
libcurl调用https接口
c++·libcurl
就叫飞六吧3 小时前
QT写一个桌面程序exe并动态打包基本流程(c++)
开发语言·c++
蜡笔小马3 小时前
1.c++设计模式-工厂模式
c++
V搜xhliang02464 小时前
OpenClaw科研全场景用法:从文献到实验室的完整自动化方案
运维·开发语言·人工智能·python·算法·microsoft·自动化
汉克老师4 小时前
GESP2025年3月认证C++五级( 第三部分编程题(2、原根判断))
c++·算法·模运算·gesp5级·gesp五级·原根·分解质因数