【算法】二分算法——山脉数组的峰顶索引

该题用二分算法解“山脉数组的峰顶索引”,有需要借鉴即可。

目录

  • 1.题目
  • 2.总结

1.题目

题目链接:LINK
在这里插入图片描述
暴力求解很简单,这里不再提及。

这个可以根据峰顶值分为两部分,因而具有“二段性”,可以用二分算法,一是大于前一个数字的值,二是小于前一个数字的值。
如下图所示:
在这里插入图片描述

然后根据此图我们可以得出代码逻辑:
在这里插入图片描述

然后我们可以得出代码:

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

        return left;
    }
};

2.总结

这个题没什么好说的,抓好“二段性”这个点就可以用二分,然后就结束了。


EOF

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/636010.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一个超级简单的Python UI库:NiceGUI

大家好&#xff0c;图形用户界面&#xff08;GUI&#xff09;的开发往往被看作是一项复杂且繁琐的任务。Python作为一门强大的编程语言&#xff0c;提供了许多优秀的库来帮助开发者实现这一目标。今天&#xff0c;我们将介绍一个名为NiceGUI的库&#xff0c;它能帮助你轻松构建…

ue5 后期处理体积lut如何加入

零、需要颜色查找表格&#xff0c;ps 一、ps中 把调节好的shift 一起拖入颜色查找表格 二、存储为png格式 另存为 保护好原来的颜色查找表格 三、导入ue5中 四、在后期处理体积中搜索misc 替换颜色查找表格 五、双击后期处理体积 纹理组替换颜色查找表格 2. 压缩设置lut改成…

MES系统对车间生产的实时监控和数据分析功能

一、企业为什么要使用MES系统&#xff1f; 生产制造企业因原材料价格波动大、生产成本高、利润薄等一系列特性&#xff0c;在企业经营上面临着诸多挑战。当企业在生产管理中遇到以下问题时&#xff0c;会考虑使用MES系统&#xff1a; 生产效率问题&#xff1a;当企业需要提高生…

leetcode-主持人调度(二)-110

题目要求 思路 1.先将开始时间和结束时间拆分放到两个数组中进行排序 2.如果开始的时间小于结束时间&#xff0c;说明目前没有空闲的人&#xff0c;需要增加人&#xff0c;如果大于等于&#xff0c;说明有人刚结束了主持&#xff0c;可以进行新的主持了&#xff0c;变更到下一…

[图解]产品经理创新模式03封装领域逻辑

1 00:00:02,530 --> 00:00:06,840 第三个改进模式就是封装领域逻辑 2 00:00:06,840 --> 00:00:12,860 把人脑里面的封装的逻辑提炼出来 3 00:00:12,870 --> 00:00:13,740 放到电脑里面去 4 00:00:16,100 --> 00:00:21,440 比如说&#xff0c;销售员的&#xff0…

【C++入门】—— C++入门 (下)_内联函数

前言&#xff1a;在了解完前面的C基础内容后&#xff0c;马上我们就要真正不如C的学习了&#xff0c;但在之前让我们最后了解最后一点点C入门知识&#xff01;来迟的520特别篇&#xff01; 本篇主要内容&#xff1a; 内联函数 auto关键字 范围for 指针空值nullptr C入门 1. 内联…

C语言刷题学习知识点1_20240219-

目录 1 sizeof2 scanf3 getchar()4 循环练习 1 sizeof sizeof 是C语言中的一个操作符&#xff0c;就和 - * 、/ 一样&#xff0c;它是用来计算变量或者类型所占空间大小的~计算结果的单位是字节&#xff0c;1字节是8个bit位。 2 scanf scanf 是为了获取你键盘输入的字符&…

OpsManage基于docker的部署与使用

前言 自动化运维管理工具OpsManagerhttp://mp.weixin.qq.com/s?__bizMzk0NTQ3OTk3MQ&mid2247487736&idx1&snefef3a930b88649033f61942a77f42d2&chksmc31598b4f46211a240ffc5360ae238b27d0f495fcbe8dc18abdbd79bc25c00726f74a7312dd0&scene21#wechat_redi…

Python实现国密GmSSL

Python实现国密GmSSL 前言开始首先安装生成公钥与私钥从用户证书中读取公钥读取公钥生成签名验证签名加密解密 遇到的大坑参考文献 前言 首先我是找得到的gmssl库&#xff0c;经过实操&#xff0c;发现公钥与密钥不能通过pem文件得到&#xff0c;就是缺少导入pem文件的api。这…

九宫格转圈圈抽奖活动,有加速,减速效果

在线访问demo和代码在底部 代码&#xff0c;复制就可以跑 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><tit…

作业-day-240523

思维导图 知识点问答 1、IO多路复用的原理 1、创建一个检测文件描述符的容器 fd_set fds; 2、将需要检测的文件描述符放入容器中 FD_SET(文件描述符&#xff0c;&fds); 3、通过一个阻塞函数阻塞等待容器中是否有事件产生&#xff0c;如果有一个或多个事件产生&#xff0c…

vscode 插件开发指南

1安装nodejs、vscode 2安装插件脚手架 npm install -g yo generator-code 3使用命令创建插件项目 yo code 4在vscode中打开项目 5运行调试&#xff0c;按F5键 6在新打开的窗口中按shiftctrlp 然后执行命令 7配置右键菜单命令 遇到问题&#xff1a; 1.package.json中vsc…

科大讯飞Nano+耳机套装登场:智能录音转写,办公充电新方案

目录 一、科大讯飞Nano会议耳机&#xff1a;专业会议助手 二、会议狗Kit&#xff1a;即插即用&#xff0c;智能会议新体验 三、努比亚65W氮化镓充电头&#xff1a;全能快充&#xff0c;一充多用 四、产品总结 在这个快节奏的数字化时代&#xff0c;高效沟通与信息处理能力成…

Koupleless 单进程多应用如何解决兼容问题

文&#xff5c;苟振东&#xff08;花名&#xff1a;盛知&#xff09; Koupleless 项目 committer 蚂蚁集团技术专家 本文 5789 字 阅读 12 分钟 本篇文章属于 Koupleless 进阶系列文章第二篇&#xff0c;默认读者对 Koupleless 的基础概念、能力都已经了解&#xff0c;如果还…

【VTKExamples::Texture】第六期 TextureThreshold

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例TextureThreshold,并解析接口vtkTexture,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~Y…

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

网络空间资产梳理

网络空间资产梳理 网络安全建设的实质是对风险的管理&#xff0c;古人云&#xff1a;知己知彼百战不殆。所谓知己&#xff0c;就是要了解自己的资产以及这些资产的脆弱性&#xff0c;知彼就是了解外部威胁及威胁所使用的手段。要做到知己&#xff0c;首先就要对自身的资产进行梳…

虚拟局域网VLAN

前面的是ip地址&#xff0c;后面的子网掩码 hr和财务是俩网段&#xff0c;hr部门发的广播包财务部门也能收到&#xff0c;那么怎么把不同的网段隔离在不同的广播域里呢 如果只有俩部门就用路由器隔离就行了&#xff0c;但是部门一多每一个都用交换机就浪费钱了 可以通过虚拟…

在MySQL数据库中的视图和事务。

视图 view 临时表 作用&#xff1a;优化多表查询的效率 可以将经常使用的连接查询结果使用视图进行保存&#xff0c;避免多次重复的笛卡尔积运算 MySQL数据库在多表查询的时候会自动进行笛卡尔积运算。 如果将来经常要用到某一个多表查询的结果就可以使用视图将这个结果…

代码随想录——路径总和(Leetcode112)需要回顾

题目链接 递归 递归函数什么时候需要返回值&#xff1f; 如果需要搜索整棵二叉树且不需要处理递归返回值&#xff0c;递归函数不要返回值如果需要搜索整棵二叉树且需要处理递归返回值&#xff0c;递归函数需要返回值如果搜索其中一条条件的路径&#xff0c;递归一定需要返回值…