题目:
思路:这一题我用的和162.寻找峰值同样的代码,就过了...博客链接:https://blog.csdn.net/karen17/article/details/105333071
但这题没有时间复杂度的要求,应该也可以用遍历做。其实可以在数组的收尾都添加最小值,这样就不用担心越界了。
代码:
class Solution {
public:
int peakIndexInMountainArray(vector<int>& A) {
int length=A.size();
int left=0,right=length-1,mid=0;
while (left<=right){
if (left==right) return left;
mid=left+(right-left)/2;
if ((mid<length-1) && (A[mid]>A[mid+1]))
right=mid;
else if ((mid<length-1) && (A[mid]<=A[mid+1]))
left=mid+1;
}
return mid;
}
};
----
2020.4.5号,第三题。