BM19 寻找峰值
Posted 唐 昊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BM19 寻找峰值相关的知识,希望对你有一定的参考价值。
解法一:使用目标值遍历比较
public static int findPeakElement(int[] nums)
if (nums.length < 3)
if(nums.length == 1 )
return 0;
return nums[0] > nums[1] ? 0:1;
// write code here
int index = 1;
while (index < nums.length - 1)
int target = nums[index];
if (target > nums[index - 1] && target > nums[index+1])
return index;
index++;
return nums[1] > nums[0] ?nums.length - 1:0;
优化
解法二:
public int findPeakElement (int[] nums)
if(nums.length==1) return 0;
for (int i = 1; i < nums.length - 1; i++)
if(nums[i]>nums[i-1] && nums[i]> nums[i+1])
return i;
return nums[0] > nums[1] ? 0 : nums.length - 1;
以上是关于BM19 寻找峰值的主要内容,如果未能解决你的问题,请参考以下文章