(查找)03-寻找峰值

发布时间 2023-11-29 23:29:08作者: StringBuilder

 1 import java.util.*;
 2 
 3 public class Solution {
 4     /**
 5      * @param nums int整型一维数组
 6      * @return int整型
 7      */
 8     public int findPeakElement (int[] nums) {
 9         // 申请左指针
10         int left = 0;
11         // 申请右指针
12         int right = nums.length - 1;
13         // 二分法遍历
14         while (left < right) {
15             int mid = (left + right) / 2;
16             // 右边是往下=右边没有坡峰
17             if (nums[mid] > nums[mid + 1])
18                 right = mid;
19             // 右边是往上=右边能找到波峰
20             else
21                 left = mid + 1;
22         }
23         // 其中一个波峰
24         return right;
25     }
26 }