标签:
题目描述:public class Solution { public int FindPeakElement(int[] nums) { if(nums.Length == 0){ return -1; } if(nums.Length == 1){ return 0; } if(nums.Length == 2){ return nums[0] > nums[1] ? 0 : 1; } if(nums[nums.Length - 1] > nums[nums.Length - 2]){ return nums.Length -1; } if(nums[0] > nums[1]){ return 0; } var l = 0; var r = nums.Length - 1; while(l < r - 1){ var m = (l + r) / 2; if(nums[m] > nums[m-1] && nums[m] > nums[m+1]){ return m; } else if(nums[m] > nums[m-1] && nums[m] < nums[m+1]){ // increasing , go right l = m; } else { // decreasing , go left r = m; } } return -1; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/lan_liang/article/details/49055175