当前位置:网站首页>二分查找6 - 寻找峰值
二分查找6 - 寻找峰值
2022-08-03 05:25:00 【花开花落夏】
寻找峰值
一 题目
峰值元素是指其值严格大于左右相邻值的元素。
给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。
你可以假设 nums[-1] = nums[n] = -∞ 。
你必须实现时间复杂度为 O(log n) 的算法来解决此问题。
来源:力扣(LeetCode)

二 解题
注意看题目,所有有效的i,都有nums[i] != nums[i+1], 说明nums[]里的所有值都不相等。而nums[-1] = nums[n] = -∞,则表示只要沿着值大的方向走,总会存在峰值。使用二分法来实现这一过程。
当left=0,right=nums时,mid值偏向右,此时可以比较mid-1与mid;
当left=0,right=nums-1时,mid值偏向左,此时可以比较mid与mid+1.
class Solution {
public int findPeakElement(int[] nums) {
int left =0,right=nums.length-1,mid;
while(left<right){
mid = left + (right-left)/2;
if(nums[mid]>nums[mid+1]){
right = mid;
}else{
left = mid+1;
}
}
return left;
}
}
边栏推荐
猜你喜欢
![[frp intranet penetration]](/img/5c/ca18bef3e5fec279c19825ee93b34b.png)
[frp intranet penetration]

贴片电阻的结构是怎样的?唯样商城

ZEMAX | 如何倾斜和偏心序列光学元件

自监督论文阅读笔记Index Your Position: A Novel Self-Supervised Learning Method for Remote Sensing Images Sema

自监督论文阅读笔记 Incremental-DETR:Incremental Few-Shot Object Detection via Self-Supervised Learning

微信小程序 自定义tabBar

2021-03-22

自监督论文阅读笔记SELF-SUPERVISED SPECTRAL MATCHING NETWORK FOR HYPERSPECTRAL TARGET DETECTION

ZEMAX | 探究 OpticStudio 偏振分析功能

002_旭日X3派初探:TogetherROS安装
随机推荐
MCU接收串口字符型数据转换成数据型数据
中空编码器的作用——唯样商城
神经网络基础
西塞罗 论老年
ASP.NET MVC3的伪静态实现
【第四周】MobileNet和HybridSN
Delightful Nuxt3 Tutorial (2): Build a Blog Quickly and Easily
AI智能剪辑,仅需2秒一键提取精彩片段
自监督论文阅读笔记Index Your Position: A Novel Self-Supervised Learning Method for Remote Sensing Images Sema
[frp intranet penetration]
A.1#【内存管理】——1.1.4 node: 初始化
ZEMAX | 如何创建复杂的非序列物体
Practice of MySql's Sql statement (try how many you can write)
影响PoE供电传输距离的除了网线还有啥?
Gradle插件与代理服务器导致Sync Project失败的问题
电容器和电池有什么不同?
虚拟地址空间布局
ZEMAX | 探究 OpticStudio 偏振分析功能
嵌入汇编-1 格式讲解
POE交换机全方位解读(中)