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

今日主题二分查找(寻找峰值 力扣162)

峰值元素是指其值严格大于左右相邻值的元素。

给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。

你可以假设 nums[-1] = nums[n] = -∞ 。

你必须实现时间复杂度为 O(log n) 的算法来解决此问题。

示例 1:

输入:nums = [1,2,3,1]
输出:2
解释:3 是峰值元素,你的函数应该返回其索引 2。

示例 2:

输入:nums = [1,2,1,3,5,6,4]
输出:1 或 5 
解释:你的函数可以返回索引 1,其峰值元素为 2;或者返回索引 5, 其峰值元素为 6。

提示:

  • 1 <= nums.length <= 1000
  • -231 <= nums[i] <= 231 - 1
  • 对于所有有效的 i 都有 nums[i] != nums[i + 1]

代码部分:

int findPeakElement(int* nums, int numsSize) {int left = 0 , right = numsSize - 2 ;  // 看好边界值,随便二分int mid;while(left <= right){mid = left + ( right - left ) /2;if(nums[mid] > nums[mid + 1]){right = mid - 1;}else{left = mid + 1;}}return left;}

http://www.lryc.cn/news/2400919.html

相关文章:

  • 【教学类-36-10】20250531蝴蝶图案描边,最适合大小(一页1图1图、2图图案不同、2图图案相同对称)
  • 高效DBA的日常运维主题沙龙
  • AAAI 2025论文分享│STD-PLM:基于预训练语言模型的时空数据预测与补全方法
  • Ethernet/IP转DeviceNet网关:驱动大型矿山自动化升级的核心纽带
  • Android 11以上App主动连接WIFI的完整方案
  • [蓝桥杯]模型染色
  • 力扣上C语言编程题
  • 卡西欧模拟器:Windows端功能强大的计算器
  • 鸿蒙OSUniApp结合机器学习打造智能图像分类应用:HarmonyOS实践指南#三方框架 #Uniapp
  • 机器学习基础(三) 逻辑回归
  • 系统调试——ADB 工具
  • Qwen-3 微调实战:用 Python 和 Unsloth 打造专属 AI 模型
  • 微软Build 2025:Copilot Studio升级,解锁多智能体协作未来
  • 设计模式——系统数据建模设计
  • 解决docker运行zentao 报错:ln: failed to create symbolic link ‘/opt/zbox/tmp/mysq
  • Spring Boot MVC自动配置与Web应用开发详解
  • OA工程自动化办公系统 – 免费Java源码
  • Apache IoTDB V2.0.3 发布|新增元数据导入导出脚本适配表模型功能
  • 某校体育场馆结构自动化监测
  • MySQL 9.0 相较于 MySQL 8.0 引入了多项重要改进和新特性
  • Android 3D球形水平圆形旋转,旋转动态更换图片
  • 数据结构与算法学习笔记(Acwing 提高课)----动态规划·树形DP
  • FTP 和 SFTP 介绍及 C/C++ 实现分析
  • leetcode hot100刷题日记——36.最长连续序列
  • CentOS7关闭防火墙、Linux开启关闭防火墙
  • PyTorch——搭建小实战和Sequential的使用(7)
  • 基于大模型的腔隙性脑梗塞风险预测及治疗方案研究
  • Python 开发效率秘籍:PyCharm、VS Code 与 Anaconda 配置与实战全解
  • [C]C语言日志系统宏技巧解析
  • 自动驾驶系统研发系列—激光雷达感知延迟:自动驾驶安全的隐形隐患?