题解 | #寻找峰值#

寻找峰值

https://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76

题目 一题多解

官方 又是 二分的应用

最难得部分 还是 那个left right更新的比较逻辑地方。就是 nums[mid]< nums[mid+1]选用位置

```c++

class Solution {

public:

    int findPeakElement(vector<int>& nums) {

        // write code here

        if(nums.size()==1)

        return 0;

        else{

            int l =0 , r = nums.size()-1;

            int mid =0;

            while(l<r){

                mid = l + ( (r-l)>>1);

                //if( vector[mid]) 

                //无序数据 到底和谁比较?

                if(nums[mid]< nums[mid+1]){

                    l = mid+1 ; //往右边走:left bigger

                }else{

                    r = mid; //right lower

                }

                

            }

            return l;

        }

    }

};

```

全部评论

相关推荐

06-28 22:48
已编辑
广东金融学院 Java
小浪_Coding:学院本+这俩项目不是buff叠满了嘛
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:20
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务