【题目描述】

我们把符合下列属性的数组 A 称作山脉:

  • A.length >= 3
  • 存在 0 < i < A.length - 1 使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]

给定一个确定为山脉的数组,返回任何满足 A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1] 的 i 的值。

示例 1:

输入:[0,1,0]
输出:1

示例 2:

输入:[0,2,1,0]
输出:1

提示:

  1. 3 <= A.length <= 10000
  2. 0 <= A[i] <= 10^6
  3. A 是如上定义的山脉

【解题思路】

这道题之所以简单是因为默认数组是山脉,不用判断。所以直接用二分查找的办法去做,总共有三种可能的情况,所以根据mid的值去和前后做比较,来判断下一步去哪个区间找封顶。

class Solution {
public:int peakIndexInMountainArray(vector<int>& A) {int low=0;int high=A.size()-1;int mid=0;while(low<=high){mid = low + ((high-low)>>2);if(A[mid]<A[mid+1])low=mid+1;else if(A[mid]<A[mid-1])high=mid-1;elsereturn mid;}}
};

Leetcode852 山脉数组的封顶索引相关推荐

  1. (java)leetcode852 山脉数组的封顶索引(二分查找法找出数组中最大值的下标)(Peak Index in a Mountain Array)

    题目描述: 我们把符合下列属性的数组 A 称作山脉: A.length >= 3 存在 0 < i < A.length - 1 使得A[0] < A[1] < ... ...

  2. leetcode852. 山脉数组的峰顶索引(二分法)

    我们把符合下列属性的数组 A 称作山脉: A.length >= 3 存在 0 < i < A.length - 1 使得A[0] < A[1] < - A[i-1] & ...

  3. python 山脉数组的峰顶索引

    | 山脉数组的峰顶索引 符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在 i(0 < i < arr.length - 1)使得: arr[0] ...

  4. 20191022:(leetcode习题)山脉数组的峰顶索引

    山脉数组的峰顶索引 题目 大致思路 代码实现 题目 我们把符合下列属性的数组 A 称作山脉: A.length >= 3存在 0 < i < A.length - 1 使得A[0] ...

  5. LeetCode 每日一题 2021-6-15 (山峰数组的封顶索引)

    852. 山脉数组的峰顶索引 难度简单 符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在 i(0 < i < arr.length - 1)使得: ...

  6. z12_852. 山脉数组的峰顶索引

    一.题目 二.想法 三.复杂度分析 四.优秀解法 五.学到了什么 一.题目 852. 山脉数组的峰顶索引 https://leetcode-cn.com/problems/peak-index-in- ...

  7. [Golang]力扣Leetcode - 852. 山脉数组的峰顶索引(二分查找)

    [Golang]力扣Leetcode - 852. 山脉数组的峰顶索引(二分查找) 题目:符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在 i(0 < ...

  8. 【LeetCode】852. 山脉数组的峰顶索引(C++)

    852. 山脉数组的峰顶索引 1 题目描述 2 示例描述 2.1 示例1 2.2 示例2 2.3 示例3 2.4 示例4 2.5 示例5 3 解题提示 4 解题思路 5 代码详解 1 题目描述 符合下 ...

  9. leetcode 852. 山脉数组的峰顶索引(二分查找)

    题目 符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在 i(0 < i < arr.length - 1)使得: arr[0] < arr[ ...

最新文章

  1. Scrum立会报告+燃尽图(十月三十日总第二十一次)
  2. 【算法】算法岗需要顶会才能入场?
  3. 大白话系列之java_大白话系列之——Java的面向对象思想
  4. Ruby. Vs . Python
  5. 使用windows activeX 在Webclient UI 中打开word文档
  6. boost-同步-互斥量的概念
  7. android 权限管理详解,EasyPermissions源码浅析
  8. 基于Office Visio 2010 图表绘制
  9. 常见反爬虫手段及应对策略
  10. OriginPro 2021 设置成中文(软件自带)
  11. win7连接打印机0x0000011b错误的解决办法
  12. 内蒙古自治区及其盟市行政单位中英文名称对照表
  13. 水中贵族 || 百岁山的“骚路子”营销
  14. ABB机器人与OMRON PLC Socket通信
  15. 文本超出省略号、css三角形、画虚线边框、修改输入框placeholder样式、修改滚动条样式、css实现优惠券
  16. Python输入关键词批量得到电商商品信息
  17. DAO题目:开发一个程序,用于记录车辆购置税
  18. Ansys Lumerical | 铌酸锂热调制波导仿真
  19. HDU 3954 Level up 2011 Alibaba Programming Contest 线段树
  20. VMware安装macOS High Sierra 10.13苹果系统并设置共享文件夹详细教程(图文)

热门文章

  1. ThinkPHP5 查询中 直接把时间戳转换成时间
  2. 数据分析上千部动漫作品
  3. 纪念入手第一个机械键盘
  4. 中国螺旋埋弧焊管市场发展现状及前景规划深度研究报告2022-2028年版
  5. 怎样确保MAC上的屏幕截图存入桌面文件夹?
  6. java计算机毕业设计基于web的公益募捐网站源程序+mysql+系统+lw文档+远程调试
  7. 卡片电脑PINE64初学笔记
  8. 机器学习算法の03 支持向量机SVM
  9. android小图标P图经验
  10. 计算机二级备考:Word 部分_1 文件操作