首页 > 其他 > 详细

[leetcode]Find Peak Element

时间:2015-01-01 00:07:09      阅读:266      评论:0      收藏:0      [点我收藏+]

类似二分。

class Solution {
public:
    int findPeakElement(const vector<int> &num) {
        int size = num.size();
        int left = 0;
        int right = size - 1;
        while (left <= right) {
            int mid = (left + right) / 2;
            if ((mid == 0 || num[mid] > num[mid-1]) &&
                (mid == size - 1 || num[mid] > num[mid+1])) {
                return mid;
            }
            if (mid != 0 && num[mid] < num[mid-1]) {
                right = mid - 1;
            } else {
                left = mid + 1;
            }
        }
        return -1;
    }
};

  

[leetcode]Find Peak Element

原文:http://www.cnblogs.com/lautsie/p/4196783.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!