码迷,mamicode.com
首页 > 编程语言 > 详细

Leetcode练习(Python):第162题:峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞。

时间:2020-04-25 19:11:47      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:索引   return   class   一个   python   时间   leetcode   说明   elf   

题目:

峰值元素是指其值大于左右相邻值的元素。

给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。

数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。

你可以假设 nums[-1] = nums[n] = -∞。

说明:

你的解法应该是 O(logN) 时间复杂度的。

思路:

二分法

程序:

class Solution:
    def findPeakElement(self, nums: List[int]) -> int:
        length = len(nums)
        head = 0
        tail = length -1
        while head < tail:
            middle = (head + tail) // 2
            if nums[middle] > nums[middle + 1]:
                rail = middle
            else:
                head = middle + 1
        return head

Leetcode练习(Python):第162题:峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞。

标签:索引   return   class   一个   python   时间   leetcode   说明   elf   

原文地址:https://www.cnblogs.com/zhuozige/p/12774166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!