题目
给你一个 m * n 的矩阵,矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。
幸运数是指矩阵中满足同时下列两个条件的元素:
- 在同一行的所有元素中最小
- 在同一列的所有元素中最大
提示:
题解
链接
自解
class Solution {
public:
vector<int> luckyNumbers (vector<vector<int>>& matrix) {
vector<int> ans;
vector<int> row(matrix.size());
vector<int> col(matrix[0].size());
for(int i=0;i<matrix.size();i++) {
for(int j=0;j<matrix[0].size();j++) {
if(row[i]==0)
row[i] = matrix[i][j];
else
row[i] = min(row[i], matrix[i][j]);
if(col[j]==0)
col[j] = matrix[i][j];
else
col[j] = max(col[j], matrix[i][j]);
}
}
for(auto i : row) {
//cout << i << endl;
for(auto j : col) {
if(i==j)
ans.push_back(i);
}
}
return ans;
}
};