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;
完