[LeetCode] Find Peak Element

The idea and code is just taken from this link. There is a nice explanation to the code on the answer by BrianLuong1337.

复制代码
 1 class Solution {
 2 public:
 3     int findPeakElement(vector<int>& nums) {
 4         int n = nums.size(), l = 0, r = n - 1;
 5         while (l < r) {
 6             int m = (l & r) + ((l ^ r) >> 1), mr = m + 1;
 7             if (nums[m] > nums[mr]) r = m;
 8             else l = mr;
 9         }
10         return l;
11     }
12 };
复制代码

 

posted @   jianchao-li  阅读(224)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示