162 Find Peak Element 寻找峰值
2024-08-31 14:47:23
峰值元素是指其值大于左右相邻值的元素。
给定一个输入数组,其中 num[i] ≠ num[i+1],找到峰值元素并返回其索引。
数组可能包含多个峰值,在这种情况下,返回到任何一个峰值所在位置都可以。
你可以想象得到 num[-1] = num[n] = -∞。
例如,在数组 [1, 2, 3, 1]中 3 是峰值元素您的函数应该返回索引号2。
注意:
你的解决方案应该是对数复杂度的。
详见:https://leetcode.com/problems/find-peak-element/description/
Java实现:
class Solution {
public int findPeakElement(int[] nums) {
int n=nums.length;
if(n==0){
return -1;
}
int left=0;
int right=n-1;
while(left<right){
int mid=(left+right)>>1;
if(nums[mid]<nums[mid+1]){
left=mid+1;
}else{
right=mid;
}
}
return right;
}
}
最新文章
- Chrome 扩展机制
- SQL 统计两个表的数据,按同一日期分组
- Objective-C中的集合类
- eval回显变量
- 软工_Alpha阶段事后分析总计
- C++8002011752鸡兔同笼
- kernel/Makefile
- webstorm与SAE的svn仓库链接进行版本控制
- jQuery基本选择器
- Jquery Table 操作
- Physics2D.Linecast中的参数layerMask
- iphone真机开发流程之--证书申请
- tableView特色用法
- 高级UIKit-03(NSFileManager、NSFileHandle)
- 开源组件NanUI一周年 - 使用HTML/CSS/JS来构建.Net Winform应用程序界面
- Neutron flat network 学习
- 【2018.04.19 ROS机器人操作系统】机器人控制:运动规划、路径规划及轨迹规划简介之一
- 29)django-ORM连表结构
- mysql查询不区分大小写问题分析和解决
- Maven 解决 下载项目 compiler 为1.5的问题