领扣LintCode算法问题答案:1476. 山形数组的顶峰坐标

    科技2022-07-13  132

    1476. 山形数组的顶峰坐标

    描述

    我们把符合下列属性的数组 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 的值。 3 <= A.length <= 100000 <= A[i] <= 106

    样例 1:

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

    样例 2:

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

    原题传送门


    文章目录

    1476. 山形数组的顶峰坐标描述样例 1:样例 2: 题解最后说两句声明


    题解

    public class Solution { /** * @param A: an array * @return: any i such that A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1] */ public int peakIndexInMountainArray(int[] A) { // Write your code here int low = 0; int high = A.length - 1; while (low <= high) { int mid = (low + high) >>> 1; int midVal = A[mid]; if (midVal < A[mid - 1]) high = mid - 1; else low = mid + 1; } return A[low] > A[high] ? low : high; } }

    最后说两句

    非常感谢你阅读本文章,如果你觉得本文对你有所帮助,请留下你的足迹,点个赞,留个言,多谢~

    作者水平有限,如果文章内容有不准确的地方,请指正。

    希望小伙伴们都能每天进步一点点。

    声明

    本文由二当家的白帽子博客原创,转载请注明来源,谢谢~

    Processed: 0.009, SQL: 8