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

寻找峰值 ---- 二分查找

题目链接

题目:

分析:

  • 因为题目中要找的是任意一个峰值即可, 所以和<山脉数组的峰值索引>这道题差不多
  • 因为峰值左右都小于峰值, 所以具有"二段性", 可以使用二分查找算法
  • 如果nums[mid] < nums[mid + 1], mid一定不是峰值, 所以left = mid + 1
  • 如果nums[mid] > nums[mid + 1], mid可能是峰值, 所以right = mid
  • 因此匹配二分查找算法的模版二, mid = left +(right - left) /2
  • 唯一与<山脉数组的峰值索引>这道题不同的是, <山脉数组的峰值索引>数组中只有一个峰值, 而这道题我们用二分查找找的是最接近中间的峰值, 说明不是只有严格的有序才能用二分查找

代码:

class Solution {public int findPeakElement(int[] nums) {int left = 0;int right = nums.length-1;while(left < right){int mid = left +(right - left) /2;if(nums[mid] > nums[mid + 1]) right = mid;else left = mid + 1;}return left;}
}

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

相关文章:

  • C语言--输入一个整数代表秒数,将这个数转化为对应的小时数、分钟数、和秒数
  • 二分搜索技术
  • docker容器安装nexus3以及nexus3备份迁移仓库数据
  • 无线领夹麦克风哪个品牌音质最好,揭秘无线领夹麦哪个牌子好用
  • pcd点云江湖之处处碰壁:点云文件pcd加载02
  • 【SQL国际标准】ISO/IEC 9075:2023 系列SQL的国际标准详情
  • 15.1数组练习题
  • Flink 任务调度策略:Lazy from Sources 深入解析
  • 【NumPy】关于numpy.reshape()函数,看这一篇文章就够了
  • 探寻最强性能云电脑:ToDesk云电脑、无影云、网易云游戏、易腾云横测大比拼
  • 回溯法——(2)n皇后问题(C语言讲解)(LeetCode51 N皇后思想)(4皇后棋盘画图举例)(附代码)
  • 数据库系统概论(第5版)复习笔记
  • 数仓领域,Serving 是什么概念?
  • Python筑基之旅-MySQL数据库(三)
  • (全面)Nginx格式化插件,Nginx生产工具,Nginx常用命令
  • 软考 软件设计师 场景分析题 速成篇
  • [学习笔记](Python3)防止SQL注入、XSS攻击和文件上传漏洞
  • 西门子CPU与汇川伺服通信与控制
  • 移动硬盘无法读取怎么修复?简单八步,轻松搞定!
  • c4d云渲染是工程文件会暴露吗?
  • C语言/数据结构——每日一题(有效的括号)
  • STM32使用旋转编码开关
  • OneMO同行 心级服务:中移物联OneMO模组助力客户终端寒冷环境下的稳定运行
  • 爬虫视图展示之 Power BI
  • 微软刚发布的Copilot+PC为什么让Intel和AMD尴尬?2024 AI PC元年——产业布局及前景展望
  • 抖音视频怎么去水印保存部分源码|短视频爬虫提取收集下载工具
  • 类的组合、作用域与可见性、类的静态成员、单例模式、
  • 高速公路定向广播(声光一体) HT-600D
  • 2024离婚新规已生效,不用等30天冷静期,线上开庭
  • 从零搭建python环境:深入解析虚拟环境与Python版本管理