题目:峰值元素是指其值大于左右相邻值的元素。给定一个输入数组nums,其
原创 2020-04-14 15:40:48
67阅读
题目大意https://leetcode-cn.com/problems/find-peak-element/description/峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums...
原创 2021-06-16 19:40:01
664阅读
​前言我们社区陆续会将顾毅(Netflix 增长,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。LeetCode 算法到目前我们已经更新到 161 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。不积跬步,无以至千里;不积小流,无以成江海,Sw
原创 2022-09-02 19:42:47
70阅读
寻找峰值 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞ 。 你必须实现时间复杂度为 O(log n) 的算法来解决此 ...
转载 2021-09-15 11:03:00
112阅读
2评论
这道题无愧于描述里面的脑筋急转弯词条。用的是二分法,本质就是往高处走,峰值一定在高的地方,因为两边都是负无穷,所有只要有一个数比周边的数更大,顺着这个数就能找到一个峰值。贴代码 1 class Solution { 2 public: 3 int findPeakElement(vector<int ...
转载 2021-08-25 16:49:00
169阅读
2评论
题目要求复杂度 logn,很容易就想到二分了。 然后,二分怎么移动 l,r 呢?其实也挺容易猜到的:如果 nums[mid] < nums[mid + 1],l = mid + 1,反之 r = mid - 1; 正确性说明:如果 nums[mid] < nums[mid + 1],那么右边一定是有 ...
转载 2021-09-16 23:48:00
138阅读
2评论
寻找峰值 峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞。 示例 1: 输入:
转载 2018-12-31 18:51:00
63阅读
2评论
LeetCode 162. 寻找峰值 对数时间查找峰值的算法。 题目描述 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] = nums[n] = - ...
转载 2021-10-03 18:37:00
117阅读
2评论
本题是一道优秀的二分算法题目。优秀的地方在于,一改传统二分法的判断标准(以前后元素的值比较为标准)。同时为了将代码变得优雅,
原创 2024-07-20 16:08:48
45阅读
一、题目描述峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回其索引 2。示例 2:输
原创 2022-07-18 11:06:59
83阅读
162. 寻找
原创 2023-01-31 14:44:47
52阅读
int findPeakElement(int* nums, int numsSize){ int l = 0, r = numsSize - 1; while (l < r) { int mid = (l + r) / 2; if (nums[mid] > nums[mid + 1]) r = m
转载 2020-12-24 12:22:00
108阅读
2评论
【代码】【无标题】
原创 2022-09-17 07:25:58
95阅读
1. 题目峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况,6,4]输出:1 或 5
转载 2022-07-08 11:22:18
49阅读
162. 寻找峰值峰值元素是指其值大于左右相...
原创 2021-07-13 17:28:09
111阅读
...
原创 2021-07-13 17:28:10
119阅读
题目峰值元素是指其值大于左右相邻值的元素。给你一个输入数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。思路第一种情况:数组升序 return a.size()-1第二种情况:数组降序 return 0第三种情况:峰值元素在数组中间 return i;代码class Solution {public: int findPeakElement(v
原创 2021-06-07 17:28:38
208阅读
...
原创 2021-07-13 17:28:11
189阅读
题目:原题链接(中等) 标签:二分查找、数组
原创 2022-02-24 11:51:32
130阅读
题目:原题链接(中等)标签:二分查找、数组解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(logN)O(logN)O(logN)O(1)O(1)O(1)36ms (82.52%)Ans 2 (Python)Ans 3 (Python)解法一:class Solution: def findPeakElement(self, nums: List[int]) -> int: # 处理数组长度为1的情
原创 2021-08-26 10:28:27
263阅读
  • 1
  • 2
  • 3
  • 4
  • 5