程序员面试金典——11.6矩阵元素查找
Solution1:我的答案。和剑指offer上的题目类似,复杂度是 O(m+n) O ( m + n ) 。
class Finder {
public:
vector<int> findElement(vector<vector<int> > mat, int n, int m, int x) {
// write code here
vector<int> res;
if(m * n == 0) //特殊情况处理
return res;
for(int i = 0; i < n; i++) {
if(mat[i][m-1] >= x) {
for(int j = m - 1; j >= 0; j--) {
if(mat[i][j] == x) {
res.push_back(i);
res.push_back(j);
return res;
}
}
}
}
return res;
}
};