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

LeetCode 852.山脉数组的峰顶索引

给定一个长度为 n 的整数 山脉 数组 arr ,其中的值递增到一个 峰值元素 然后递减。

返回峰值元素的下标。

你必须设计并实现时间复杂度为 O(log(n)) 的解决方案。

示例 1:

输入:arr = [0,1,0]
输出:1
示例 2:

输入:arr = [0,2,1,0]
输出:1
示例 3:

输入:arr = [0,10,5,2]
输出:1

提示:

3 <= arr.length <= 105^55
0 <= arr[i] <= 106^66
题目数据 保证 arr 是一个山脉数组

直接二分即可:

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

如果arr的大小为n,则此算法时间复杂度为O(logn),空间复杂度为O(1)。

http://www.dtcms.com/a/536954.html

相关文章:

  • 提升 Web 端 JavaScript 的可信度:WAICT 体系详解
  • 做公司网站图片算是商用吗建立一个网页需要多少钱
  • 广州网站制作功能春雨app直播免费版下载
  • LangGraph 官方教程:聊天机器人之四
  • 【多模态】qwen3-vl的强化微调
  • 网站开发岗位思维导图vps 网站攻击ip地址
  • python-docx 节操作
  • [nanoGPT] 文本生成 | 自回归采样 | `generate`方法
  • 【Linux专栏】shell脚本变量的取值|转换
  • [Dify 实战] 插件调试技巧(进阶篇):本地测试与部署全流程问题排查指南(Dify本地部署环境下)
  • 一、初识 LangChain:架构、应用与开发环境部署
  • 中山公司网站建设阿里云域名交易平台
  • 做flash音乐网站的开题报告做网站建设的合同范本
  • Trait与泛型高级用法
  • 解锁效率:一份关于大语言模型量化的综合技术指南
  • 网站后天添加文章不显示上海搜索优化推广哪家强
  • 前端基础之《React(3)—webpack简介-集成JSX语法支持》
  • 虚拟机之间配置免密登录(Centos)
  • 嵌入式测试的工作内容非常具体和专业化,它横跨了软件和硬件两个领域。
  • 保定网站建设团队网站备案密码 多少位
  • ZW3D二次开发_整图缩放
  • 滁州网站建设费用开发公司网签价格
  • 福州建网站公司最好的营销型网站建设公司
  • 新手入门:一篇看懂计算机基础核心知识
  • 每日算法刷题Day80:10.27:leetcode 回溯11道题,用时3h
  • 建设一个网站的规划广州seo公司如何
  • [强化学习] 第1篇:奖励信号是智能的灵魂
  • 从“看得见“到“看得懂“:监控安全管理的智能进化
  • YOLOv5 核心模块解析与可视化
  • 昆山外贸型网站制作建站科技公司