题解 | #寻找峰值O(n)#
寻找峰值
http://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型 */ //O(logn) public int findPeakElement (int[] nums) { int s = 0 ; int e = nums.length - 1 ; while(s < e) { int mid = s + (e - s) / 2 ; //mid不可能是峰值,右边找 if(nums[mid] < nums[mid + 1]) { s = mid + 1 ; } else {//mid可能是峰值,去左边找 e = mid ; } } return s ; } }
一个菜鸟的算法刷题记录 文章被收录于专栏
分享一个菜鸟的成长记录