题目:
给定一个矩阵,查找矩阵中所有行中都出现的元素。你可以假设只有一个这样的元素。
样例:
给定一个矩阵:
[ [2,5,3],
[3,2,1],
[1,3,5]
]
返回:3
思路:
用一个map来存储矩阵中每个元素出现的次数,当出现的次数等于行数时
参考答案:
class Solution {
public:
/**
* @param Matrix: the input
* @return: the element which appears every row
*/
int FindElements(vector<vector<int>> &Matrix) {
// write your code here
if(Matrix.empty()) return 0;
int m = Matrix.size();
int n = Matrix[0].size();
map<int,int> res;
for(int i=0; i<n; i++){
res[Matrix[0][i]] = 1;
}
for(int i=1; i<m; i++){
for(int j=0; j<n; j++){
if(Matrix[i][j]) res[Matrix[i][j]]++;
if(res[Matrix[i][j]] == m) return Matrix[i][j];
}
}
}
};
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。