西安网站建设制作 熊掌号,欢迎访问中国建设银行网站,访问网站速度跟域名还是服务器有关,杭州seo公司排名题目#xff1a; 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums#xff0c;找到峰值元素并返回其索引。数组可能包含多个峰值#xff0c;在这种情况下#xff0c;返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] nums[n] -∞ 。 你必须实现时… 题目 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums找到峰值元素并返回其索引。数组可能包含多个峰值在这种情况下返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] nums[n] -∞ 。 你必须实现时间复杂度为 O(log n) 的算法来解决此问题。 来源力扣LeetCode 链接力扣LeetCode官网 - 全球极客挚爱的技术成长平台 示例 示例 1 输入nums [1,2,3,1] 输出2 解释3 是峰值元素你的函数应该返回其索引 2。 示例 2 输入nums [1,2,1,3,5,6,4] 输出1 或 5 解释你的函数可以返回索引 1其峰值元素为 2或者返回索引 5 其峰值元素为 6。 解法 nums头尾加入负无穷遍历每个元素判断是否比左右大。 知识点 1.无穷float(inf) 表示正无穷-float(inf) 或 float(-inf) 表示负无穷。其中inf 均可以写成 Inf。 代码 class Solution:def findPeakElement(self, nums: List[int]) - int:length len(nums)nums [float(-inf)] nums [float(-inf)]for index in range(1, length 1):if nums[index] nums[index - 1] and nums[index] nums[index 1]:return index - 1