题目

代码分析

题目要求时间复杂度带有log,表明要使用到二分查找。

代码实现

 public static int findPeakElement(int[] nums) {
        int start=0;
        int end=nums.length-1;
        while(start<end)
        {
            if(start+1==end) return Math.max(start,end);
            int mid=(start+end)/2;
            if(nums[mid]<nums[mid+1])
            {
                start=mid;
            }else
            {
                end=mid;
            }
        }
        return -1;
    }

学习情况

1次