加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读