1198. 找出所有行中最小公共元素
尊享面试 100 题是Leetcode会员专享题单
力扣题目链接
给你一个 m x n 的矩阵 mat,其中每一行的元素均符合 严格递增 。请返回 所有行中的 最小公共元素 。
如果矩阵中没有这样的公共元素,就请返回 -1。
示例 1:
1 2
| 输入:mat = [[1,2,3,4,5],[2,4,5,8,10],[3,5,7,9,11],[1,3,5,7,9]] 输出:5
|
示例 2:
1 2
| 输入:mat = [[1,2,3],[2,3,4],[2,3,5]] 输出: 2
|
提示:
- m == mat.length
- n == mat[i].length
- 1 <= m, n <= 500
- 1 <= mat[i][j] <= 104
- mat[i] 已按严格递增顺序排列。
思路
暴力解法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
var smallestCommonElement = function(mat) { let map = new Map() let m = mat.length, n = mat[0].length for(let i = 0;i<m;i++){ for(let j = 0; j< n;j++){ if(i === 0){ map.set(mat[i][j],1) }else{ if(map.has(mat[i][j])){ map.set(mat[i][j],map.get(mat[i][j]) + 1) } } } } for(let [key,value] of map.entries()){ if(value === m){ return key } } return -1 };
|