852. 山脉数组的峰顶索引

  • 1 题目描述
  • 2 示例描述
    • 2.1 示例1
    • 2.2 示例2
    • 2.3 示例3
    • 2.4 示例4
    • 2.5 示例5
  • 3 解题提示
  • 4 解题思路
  • 5 代码详解

1 题目描述

符合下列属性的数组 arr 称为 山脉数组 :
arr.length >= 3
存在 i(0 < i < arr.length - 1)使得:
arr[0] < arr[1] < … arr[i-1] < arr[i]
arr[i] > arr[i+1] > … > arr[arr.length - 1]
给你由整数组成的山脉数组 arr ,返回任何满足 arr[0] < arr[1] < … arr[i - 1] < arr[i] > arr[i + 1] > … > arr[arr.length - 1] 的下标 i 。

2 示例描述

2.1 示例1

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

2.2 示例2

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

2.3 示例3

输入:arr = [0,10,5,2]
输出:1

2.4 示例4

输入:arr = [3,4,5,1]
输出:2

2.5 示例5

输入:arr = [24,69,100,99,79,78,67,36,26,19]
输出:2

3 解题提示

3 <= arr.length <= 10^4
0 <= arr[i] <= 10^6
题目数据保证 arr 是一个山脉数组

4 解题思路

当第一次前一个数比后一个数大的时候,则表明刚刚到达山顶,则返回该数的下标即可。

5 代码详解

class Solution {public:int peakIndexInMountainArray(vector<int>& arr) {for ( int i = 0 ; i < arr.size() ; i ++ ){if ( arr[i] > arr[i + 1] ){return i ;}}return arr.size() ;}
};

【LeetCode】852. 山脉数组的峰顶索引(C++)相关推荐

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

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

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

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

  3. LeetCode 852. 山脉数组的峰顶索引

  4. 852.山脉数组的峰顶索引---LeetCode(java实现)

    解题思路: 思路很简单:就是遍历数组,找到一个数组索引,使得他前一个元素比他小,后一个元素比他大. 不过这里需要注意:遍历的时候从索引1开始. class Solution {public int p ...

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

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

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

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

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

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

  8. LeetCode(852)——山脉数组的峰顶索引(JavaScript)

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

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

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

最新文章

  1. python eve mysql_python连接 MySQ 数据库
  2. TCP和UDP的聊天
  3. mysql 触发器定义变量_MySQL 函数存储过程触发器定义简单示例
  4. 感知哈希算法原理与实现
  5. 上去很美的 Serverless 在中国落地的怎么样了?
  6. resnet50代码_13、SOTA论文实践-学习ResNet(80行代码搞定残差backbone网络)
  7. Power Spectral Density
  8. 万字干货,交互设计精髓105条设计原则(附中英PDF资料)
  9. 二阶无源低通滤波器幅频特性曲线_几种无源滤波器的电路及频响特性对比
  10. 手机计算机音乐软件,“自从拥有了这三款软件,我把电脑、手机上的音乐播放器全部卸载了”...
  11. 解决华为手机USB调试app闪退重启界面清空log日志问题
  12. Linux可以打开cdr文件吗,CDR是什么格式
  13. 疯狂夹娃娃机源码+教程
  14. 上海计算机一级考试理论,上海市计算机一级考试理论部分(上).doc
  15. 【正点原子FPGA连载】第三十九章OV7725摄像头RGB-LCD显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
  16. 四川教师职称计算机考试试题,四川省中小学教师职称计算机应用能力考试、外语免试审批表.doc...
  17. 低分辨率和畸变严重的棋盘格角点的自动检测
  18. Web自动化测试(Selenium自动化测试框架)
  19. 数据结构之堆(Heap)及其用途
  20. 码住 学网页制作需要的基本步骤都在这里

热门文章

  1. 学生网站模板 品优购 (3页) HTML+CSS+JavaScript 大学生网购网页作品商城网页设计作业模板 学生网页制作源代码下载
  2. Unity经典游戏教程之:合金弹头
  3. laya开发微信小游戏《奇异水族馆》之 观察者模式应用
  4. 身份证信息验证工具类
  5. 如何查看Vue项目vue的版本号
  6. 如何优雅的实现Android 屏幕适配方案
  7. kmalloc/vmalloc区别
  8. 初学虚幻4-各种准备工作
  9. vue双向数据绑定原理详解(附源码)
  10. Redis-基础学习