162. Find Peak Element
发布时间:2020-12-14 04:17:00 所属栏目:大数据 来源:网络整理
导读:https://leetcode.com/problems/find-peak-element/discuss/50232/Find-the-maximum-by-binary-search-(recursion-and-iteration) ? 1 class Solution { 2 public int findPeakElement( int [] nums) { 3 int lo = 0,hi = nums.length - 1 ; 4 while (lo = h
https://leetcode.com/problems/find-peak-element/discuss/50232/Find-the-maximum-by-binary-search-(recursion-and-iteration) ? 1 class Solution { 2 public int findPeakElement(int[] nums) { 3 int lo = 0,hi = nums.length - 1; 4 while(lo <= hi){ 5 if(lo == hi){ 6 return lo; 7 } 8 int mid1 = lo + (hi-lo) / 2; 9 int mid2 = mid1 + 1; 10 if(nums[mid1] > nums[mid2]){ 11 hi = mid1; 12 }else{ 13 lo = mid2; 14 } 15 } 16 return -1; 17 18 } 19 } 20 21 22 //O(n) 23 class Solution { 24 public int findPeakElement(int[] nums) { 25 long[] arr = new long[nums.length + 2]; 26 arr[0] = (long)Integer.MIN_VALUE-1; 27 arr[arr.length - 1] = (long)Integer.MIN_VALUE-1; 28 for(int i = 0; i < nums.length; i++){ 29 arr[i+1] = nums[i]; 30 } 31 for(int i = 1; i < arr.length - 1; i++){ 32 if(arr[i] > arr[i-1] && arr[i] > arr[i+1]){ 33 return i-1; 34 } 35 } 36 return -1; 37 38 } 39 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |