leetcode-852.山脉数组的索引

题目:

思路:这一题我用的和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号,第三题。

发布了56 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/karen17/article/details/105333187