Loading... > https://leetcode.cn/problems/find-the-peaks/description/?envType=daily-question&envId=2024-05-02 简单题,遍历一遍判断左右两边是否小于即可。 ```c++ class Solution { public: vector<int> findPeaks(std::vector<int>& mountain) { const int n = mountain.size() - 1; std::vector<int> res; for (int i = 1; i < n; i++) { if (mountain[i] > mountain[i - 1] && mountain[i] > mountain[i + 1]) res.emplace_back(i); } return res; } }; ``` - 时间复杂度:$O(n)$ ,其中 $n$ 为 `mountain` 数组的长度。 - 空间复杂度:$O(1)$ ,除返回值外不需要额外的空间。 最后修改:2024 年 05 月 28 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏