问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Leetcode 162 寻找峰值

发布网友 发布时间:2023-01-02 06:51

我来回答

1个回答

热心网友 时间:2023-10-14 17:20

解法1:
1.分析题意,如果只是判断满足条件的元素,我们可以直接for循环遍历找出满足条件的答案,但是题意要求,必须实现时间复杂度为O(log n) 的算法,目前我们最简单可以想到已知的O(log n) 的算法为二分查找,可是二分查找用于解决已排序的序列是可以的,难道也可以用于解决未排序的序列?显然,答案是可以的
2.满足条件的元素,我们知道一个特征,就是肯定比左右元素大,也就是说满足 nums[index] > nums[index + 1] && nums[index] > nums[index - 1] ,可是如果以这个条件作为二分查找的条件判断,很显然,我们无法进行left、right的回归了,这时,我们需要想办法去精简条件
3.如果 nums[index] > nums[index + 1] 时,证明此时右侧已然满足峰值条件,右侧区间可以舍弃;如果 nums[index] <= nums[index + 1] 时,证明此时是递增的,左侧区间已然满足峰值条件,左侧区间可以舍弃,所以条件可以精简为 nums[mid] > nums[mid + 1] ,而mid为left和right的中间值
这个题目有一个条件需要特别重视,你可以假设 nums[-1] = nums[n] = -∞ ,也就是说无论如何,肯定存在目标峰值,所以才有我们上面的条件去除,反正题目结论是要找其中一个峰值,找到左右侧满足条件时,放心的去找剩余一侧即可。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如果我满了16岁去犯罪了怎么办? 满16周岁犯罪一般判刑多久 过夜切开的土豆可以吃吗 过夜切开的土豆还能食用吗 重庆什么时候去玩合适 重庆适合几月份去旅游重庆简介 重庆什么季节去最好重庆最佳旅游月份 重庆什么时候去旅游比较好几月份去重庆比较好 重庆几月份去旅游好去重庆旅游的最佳时间 QQ会员聊天记录怎么才能一次性删除完啊 一点一点的删。累啊~~_百度知 ... 我是QQ会员,我的聊天记录都叫老公上传了,怎样才能把我的聊天记录彻底删... 家庭草莓盆栽怎么选盆 北京双得利科工贸有限责任公司怎么样? 张兴艺身高,张艺兴一米78的个子瘦到60公斤惹人疼 河南理工大学2022年的保研多少人进复试 梦见好几个不认识的男青年 梦见青年男子蜗牛 梦见四平青年 梦见白衣青年 梦见穿白服青年男子 梦见一个男青年很上进 梦见青年老黄历 梦见穿白衣服的青年男子 律师行业职业规划浅析 hcia认证是怎样报名的 关于标准离差率说法不正确 银浆加开油水会怎么样 快手对口型视频怎么写标题 坐厕变蹲厕好处 有什么好处 洗手间同时要坐厕和蹲厕怎设计好 自吸泵跟圆弧齿轮泵的区别!在储油罐车上使用,上部进油选择什么泵好!汽柴油通用的那种。 SciPy笔记(寻峰算法) 峰值体验第十一章怎样选择信息总结 孩子明天考试家长怎么鼓励孩子 通策医疗市盈率怎么样?东方财富网股吧通策医疗?600763通策医疗股2021分红? 股票通策医疗是什么板块?通策医疗开盘价是多少钱?600763通策医疗东方财富股吧? 通策医疗实盘怎么样?东方财富股票股吧通策医疗?600763通策医疗2021分红? 通策医疗股现在可以入手吗?通策医疗一个月的股价?600763通策医疗最新消息? 只有网线和路由器能用手机连无线网吗? 什么是贫困家庭,有没有政策补助? 梦见和母亲吵架摔碗 梦见更母亲吵架对摔碗 梦见和家里人吵架碗都摔坏了 梦见与婆婆吵架摔碗 梦见和婆婆吵架摔盘碗 梦见梦里和奶奶吵架还摔碎了碗 极乐迪斯科木板道在哪 极乐迪斯科下水道在哪 华语乐坛水平最高的十首歌 份房蝈蝈和蚡房蝈蝈能繁殖吗? 扎嘴鸣虫怎样饲养