题解 | #寻找峰值#
寻找峰值
https://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int findPeakElement (int[] nums) {
// write code here
// 定义2个指针分别指向数组的首位元素
int left=0,right=nums.length-1;
while(left<right){//什么时候缩小查找间距
//等同于(left+right)/2;为了防止溢出
int mid=left+(right-left)/2;
if(nums[mid]>nums[mid+1]){
right=mid;//
}else if(nums[mid]<=nums[mid+1]){
left=mid+1;//
}
}
return left;
}
}
图解:
SHEIN希音公司福利 280人发布