【Leetcode_easy】852. Peak Index in a Mountain Array

problem

852. Peak Index in a Mountain Array

solution1:

class Solution {
public:
    int peakIndexInMountainArray(vector<int>& A) {
        return max_element(A.begin(), A.end())-A.begin();
    }
};

solution2:

class Solution {
public:
    int peakIndexInMountainArray(vector<int>& A) {
        for(int i=0; i<A.size()-1; ++i)
        {
            if(A[i]>A[i+1]) return i;
        }
        return 0;//err..
    }
};

solution3:

class Solution {
public:
    int peakIndexInMountainArray(vector<int>& A) {
        int left = 0, right = A.size()-1;
        int mid = 0;
        while(left<right)
        {
            mid = left + (right-left)/2;
            if(A[mid]<A[mid+1]) left = mid + 1;//err...
            else right = mid;//errr...
        }
        return right;//err..
    }
};

参考

1. Leetcode_easy_852. Peak Index in a Mountain Array;

2. grandyang;

3. discuss;

原文地址:https://www.cnblogs.com/happyamyhope/p/11215023.html