Find Peak Element
Updated:
양 옆원소보다 클때의 그때 인덱스를 반환해주면 되는문제이다.
가장 높은 원소의 인덱스도 아니고, 그냥 아무거나 반환하면 된다.
예외적으로 처리해야하는부분은, 길이가 1인 경우와, 맨 처음과 맨마지막의 경우만 예외처리를 해줘서 문제를 풀었다.
by Java
class Solution {
public int findPeakElement(int[] nums) {
if(nums.length==1) return 0;
int maxHeight =0 , idx=-1;
for(int i=0;i<nums.length;i++) {
if(i==0 || i==nums.length-1) {
if(i==0 && nums[i]>nums[i+1]) {
maxHeight = Math.max(maxHeight,nums[i]);
idx = i;
}
else if(i == nums.length-1 && nums[i]>nums[i-1]){
maxHeight = Math.max(maxHeight,nums[i]);
idx = i;
}
continue;
}
if(nums[i-1]<nums[i] && nums[i]>nums[i+1]) {
maxHeight= Math.max(maxHeight,nums[i]);
idx= i;
}
}
return idx;
}
}
Leave a comment