A peak element is an element that is greater than its neighbors.
Given an input array where num[i] ≠ num[i+1]
, find a peak element and return its index.
You may imagine that num[-1] = num[n] = -∞
.
For example, in array [1, 2, 3, 1]
, 3 is a peak element and your function should return the index number 2.
1 public class Solution { 2 public int findPeakElement(int[] num) { 3 int peak = Integer.MIN_VALUE; 4 int res = 0; 5 for (int i = 1; i < num.length - 1; i++) { 6 if (num[i] > num[i - 1] && num[i] > num[i + 1]&&num[i]>peak) { 7 res = i; 8 peak = num[i]; 9 } 10 } 11 if (num[0] > num[res] && num[0] > num[num.length - 1]) { 12 return 0; 13 } else if (num[num.length - 1] > num[0] && num[num.length - 1] > num[res]) { 14 return num.length - 1; 15 }else return res; 16 } 17 }