南充微网站建设,网站开发服务器架设,潍坊百度网站快速排名,wordpress get cat1. 题目
给你一个 m * n 的矩阵#xff0c;矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。
幸运数是指矩阵中满足同时下列两个条件的元素#xff1a;
在同一行的所有元素中最小在同一列的所有元素中最大
示例 1#xff1a;
输入#xff1a;matrix …1. 题目
给你一个 m * n 的矩阵矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。
幸运数是指矩阵中满足同时下列两个条件的元素
在同一行的所有元素中最小在同一列的所有元素中最大
示例 1
输入matrix [[3,7,8],[9,11,13],[15,16,17]]
输出[15]
解释15 是唯一的幸运数因为它是其所在行中的最小值也是所在列中的最大值。示例 2
输入matrix [[1,10,4,2],[9,3,8,7],[15,16,17,12]]
输出[12]
解释12 是唯一的幸运数因为它是其所在行中的最小值也是所在列中的最大值。示例 3
输入matrix [[7,8],[1,2]]
输出[7]提示
m mat.length
n mat[i].length
1 n, m 50
1 matrix[i][j] 10^5
矩阵中的所有元素都是不同的来源力扣LeetCode 链接https://leetcode-cn.com/problems/lucky-numbers-in-a-matrix 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2. 解题
先分别对每行进行遍历求得每行的最小值插入 set然后遍历每列求得最大的在 set 中查找最大值如果在就是一个幸运数
class Solution {
public:vectorint luckyNumbers (vectorvectorint matrix) {int m matrix.size(), n matrix[0].size(), i, j;int MAX, MIN;vectorint ans;setint s;for(i 0; i m; i){MIN INT_MAX;for(j 0; j n; j){MIN min(MIN, matrix[i][j]);}s.insert(MIN);}for(j 0; j n; j){MAX INT_MIN;for(i 0; i m; i){MAX max(MAX, matrix[i][j]);}if(s.count(MAX))ans.push_back(MAX);}return ans;}
};28 ms
9.7 MB