zoukankan      html  css  js  c++  java
  • Find Peak Element

    • A peak element is an element that is greater than its neighbors.

    • Given an input array where num[i] ≠ num[i+1], find a peak element and return its index.

    • The array may contain multiple peaks, in that case return the index to any one of the peaks is fine.

    • You may imagine that num[-1] = num[n] = -∞.

    • For example, in array [1, 2, 3, 1], 3 is a peak element and your function should return the index number 2.

      这道题是水题,注意边界条件就可以。
      C++ Code:

    class Solution {
    public:
        int findPeakElement(const vector<int> &num) {
        if (num.size() == 1)
        {
            return 0;
        }
        else if (num.size() == 2)
        {
            return num[0] > num[1] ? 0 : 1;
        }
    
        int i = 1;
        for (; i < (num.size()-1); i++)
        {
            if ((num[i] > num[i - 1]) && (num[i] > num[i + 1])){
                return i;
            }
        }
    
        if ((num[0] > num[1])){
            return 0;
        }
        else if (num[i-1] < num[i])
        {
            return i;
        }
    
        return 0;
        }
    };
  • 相关阅读:
    2016/4/27 xml
    2016/4/27 网络编程
    2016/4/25 java io
    mysql 基础列题
    数据库的语法
    数据库
    io流
    xml
    网络编程
    gui2
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5094315.html
Copyright © 2011-2022 走看看