162 Find Peak Element
Java 方法一: 一遍循环
class Solution {
public int findPeakElement(int[] nums) {
for(int i = 0; i < nums.length - 1; i ++){
if (nums[i] > nums[i + 1])
return i;
}
return nums.length - 1;
}
}
Java 方法二: 改进版的二分查找
public class Solution {
public int findPeakElement(int[] nums) {
return search(nums, 0, nums.length - 1);
}
public int search(int[] nums, int l, int r) {
if (l == r)
return l;
int mid = (l + r) / 2;
if (nums[mid] > nums[mid + 1])
return search(nums, l, mid);
return search(nums, mid + 1, r);
}
}