解题思路
这里有点投机取巧了,用了标准库中的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];
}
};