力扣——寻找峰值

devtools/2024/11/23 12:52:40/

题目

162. 寻找峰值 - 力扣(LeetCode)

思路

第一想法就是直接遍历,时间复杂度为O(n),肯定超时了。

然后就想到用二分,但是数组又不一定是有序的。仔细一思考,好像也可以用,关键在于这个峰值的性质。
按照题目当中的条件,数组当中总有一个峰值,传统二分查找依赖数组的全局有序性,而这里利用的是峰值的局部性。

  • 如果 nums[mid] < nums[mid + 1]

    • 峰值一定在右侧:
      • 如果右侧某段存在上升趋势,最终会遇到一个峰值或数组的末尾(nums[n] = -∞)。
      • 右侧包含可能的峰值,因此缩小范围到 [mid + 1, high]
  • 如果 nums[mid] > nums[mid + 1]

    • 峰值可能是 mid 或在左侧:
      • 左侧包含可能的峰值,因此缩小范围到 [low, mid]

代码

public int findPeakElement(int[] nums) {int low = 0, high = nums.length-1;while(low<high){int mid = (low + high)/2;if(nums[mid]<nums[mid+1]){low = mid+1;}else{high = mid;}}return low;}


http://www.ppmy.cn/devtools/136297.html

相关文章

yolo自动化项目实例解析(九) 导航

比如我们经常使用的导航&#xff0c;说白了就是寻找两点之间最近的路径&#xff0c;也就是所谓的寻路&#xff0c;我们需要想办法让程序知道他要去哪里&#xff0c;路径包含&#xff08;起点、轨迹、终点&#xff09; 一、录制轨迹 从平面角度来看&#xff0c;我们可以把区域视…

Linux搭建MiniO

1、第一步&#xff0c;进入/opt目录&#xff0c;创建minio文件夹 输入以下命令 cd /opt mkdir minio 2、wget下载安装包 wget https://dl.minio.io/server/minio/release/linux-amd64/minio 3、在minio文件夹中创建log文件 cd /minio touch minio.log 4、修改权限 chmod 77…

Mybatis框架之单例模式 (Singleton Pattern)

MyBatis 框架中也使用到了单例模式 (Singleton Pattern)&#xff0c;主要体现在 SqlSessionFactory 的创建和管理上。通过单例模式&#xff0c;MyBatis 可以确保整个应用程序中只创建一个 SqlSessionFactory 实例&#xff0c;从而有效地管理数据库连接资源并提高性能。下面将详…

uView开发笔记

1.富文本框输入 <u-input input-alignright type"textarea" height"100" v-model"value" /> ​ return{textarea:textarea} 2.页面下拉刷新 onPullDownRefresh(){ } 3.swiper轮播图图片展示不全问题 增加属性&#xff1a; :img-mode&…

c与c++比较

实现将十六进制字符串转换为字节数组 c实现 - #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h>unsigned char* hexStringToByteArray(const char* hex_str, size_t* out_len) {size_t len = strlen(hex_str);size_…

原生微信小程序在顶部胶囊左侧水平设置自定义导航兼容各种手机模型

无论是在什么手机机型下&#xff0c;自定义的导航都和右侧的胶囊水平一条线上。如图下 以上图iphone12&#xff0c;13PRo 以上图是没有带黑色扇帘的机型 以下是调试器看的wxml的代码展示 注意&#xff1a;红色阔里的是自定义导航&#xff08;或者其他的logo啊&#xff0c;返回之…

气象指数推进光伏“靠天吃饭”?

随着可再生能源在电力系统中占比的不断提升&#xff0c;光伏发电“靠天吃饭”的特性引发看发电企业、用电企业及电网等主体对天气风险的关注。据小编所知&#xff0c;鹧鸪云光伏气象仿真系统采用Meteonorm作为气象数据源&#xff0c;真实可靠&#xff0c;助力新能源体系建设。 …

JavaWeb-表格标签-06

表格标签 table code: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>表格标签</title><…