leetcode 1901. 找出顶峰元素 II

1901. 找出顶峰元素 II

解题思路

这里有点投机取巧了,用了标准库中的max_element,先找到每一行的最大值,然后将索引i, j, max_val保存到数列中,然后对数据项取max_val,找到元素位置,接着返回。

代码

class Solution {
public:
    vector<int> findPeakGrid(vector<vector<int>>& mat) {
        vector<vector<int>> positions;
        for (int i = 0; i < mat.size(); i++) {
            auto item = max_element(mat[i].begin(), mat[i].end());
            positions.push_back({i, static_cast<int>(item - mat[i].begin()), *item});
        }
        auto item = *max_element(positions.begin(), positions.end(), CompareVal);
        return {item[0], item[1]};
    }
private:
    static bool CompareVal(vector<int>& item1, vector<int>& item2) {
        return item1[2] < item2[2];
    }
};

你可能感兴趣的:(#,数组,leetcode,算法,职场和发展)