1901. 寻找峰值 II (二分法)
链接https://leetcode.cn/problems/find-a-peak-element-ii/题解class Solution { public: vectorint findPeakGrid(vectorvectorint mat) { int m mat.size(); if (m 0) { return {}; } int n mat[0].size(); if (n 0) { return {}; } int start 0; int end m-1; while (start 1 end) { int mid start (end-start)/2; int col max_element(mat[mid].begin(), mat[mid].end()) - mat[mid].begin(); if (mat[mid-1][col] mat[mid][col] mat[mid][col] mat[mid1][col]) { return {mid, col}; } else if (mat[mid-1][col] mat[mid][col]) { end mid; } else { start mid; } } int col max_element(mat[start].begin(), mat[start].end()) - mat[start].begin(); if (mat[start][col] mat[end][col]) { return {start, col}; } col max_element(mat[end].begin(), mat[end].end()) - mat[end].begin(); return {end, col}; } };