我是靠谱客的博主 拉长绿茶,最近开发中收集的这篇文章主要介绍编程小菜菜刷Leetcode第二天852. 山脉数组的峰顶索引,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

852. 山脉数组的峰顶索引

我们把符合下列属性的数组 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 的值

解法一:老老实实用二分查找

class Solution:
    def peakIndexInMountainArray(self, A: List[int]) -> int:
        low,high = 0,len(A)-1
        while low<high:
            mid = (low+high)//2
            if A[mid-1]<A[mid]<A[mid+1]:
                low = mid+1
            elif A[mid+1]<A[mid]<A[mid-1]:
                high = mid-1
            else: 
                return mid
        return low

解法二:直接调用库函数,一行代码就能解决

class Solution:
    def peakIndexInMountainArray(self, A: List[int]) -> int:
        return A.index(max(A))

 

最后

以上就是拉长绿茶为你收集整理的编程小菜菜刷Leetcode第二天852. 山脉数组的峰顶索引的全部内容,希望文章能够帮你解决编程小菜菜刷Leetcode第二天852. 山脉数组的峰顶索引所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部