博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
852. Peak Index in a Mountain Array
阅读量:2351 次
发布时间:2019-05-10

本文共 971 字,大约阅读时间需要 3 分钟。

Let’s call an array A a mountain if the following properties hold:

  • A.length >= 3
  • There exists some 0 < i < A.length - 1 such that A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]
  • Given an array that is definitely a mountain, return any i such that A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1].

Example 1:

Input: [0,1,0]

Output: 1

Example 2:

Input: nums = [10, 9, 8, 7],

Output: 10

我的想法

二分法呗。如果中点比后一个数小,说明在上坡,需要向后寻找,把开始指针移到中点位置;如果中点比前一个数小,说明在下坡,需要向前寻找,把结束指针移到中点位置

class Solution {
public int peakIndexInMountainArray(int[] A) {
int start = 0, end = A.length - 1; while(start + 1 < end) {
int mid = start + (end - start) / 2; if(A[mid] < A[mid + 1]) {
start = mid; } else if(A[mid] < A[mid - 1]) {
end = mid; } else {
return mid; } } return A[start] > A[end] ? start : end; }}

解答

转载地址:http://ekqvb.baihongyu.com/

你可能感兴趣的文章
mario collision
查看>>
1005. 数独
查看>>
我要学ASP.NET MVC 3.0(十四): MVC 3.0 实例系列之创建数据表格
查看>>
我要学ASP.NET MVC 3.0(十五): MVC 3.0 实例系列之表格的排序
查看>>
ubuntu12.04--子进程 已安装 post-installation 脚本 返回了错误号 1
查看>>
系统--电脑开机一声长响
查看>>
3--TCP三次握手
查看>>
4--网关
查看>>
4.内存非连续分配管理方式
查看>>
5.虚拟内存的概念、特征以及虚拟内存的实现
查看>>
mmap()函数:建立内存映射
查看>>
munmap()函数:解除内存映射
查看>>
Java异常处理
查看>>
JQueryUI实现对话框
查看>>
Java流(Stream)/文件(File)/IO
查看>>
文件处理(压缩与解压)
查看>>
Java中的目录
查看>>
JQuery实现对select选择框的赋值
查看>>
SweetAlert插件
查看>>
JSON学习
查看>>