2023每日刷题(四十六)
Leetcode—2661.找出叠涂元素
题意解读
题目意思就是,按照arr数组从左到右的顺序遍历各个arr[i],涂抹这个值在矩阵中对应位置的网格,一旦你发现它所在的行或者列满员了,就返回这个i
解题思路
实现代码
class Solution {
public:int firstCompleteIndex(vector<int>& arr, vector<vector<int>>& mat) {int m = mat.size(), n = mat[0].size();unordered_map<int, pair<int, int>> m1;vector<int> row(m, 0), col(n, 0);for(int i = 0; i < m; i++) {for(int j = 0; j < n; j++) {m1[mat[i][j]] = {i, j};}}int k = 0;while(k >= 0) {auto [i, j] = m1[arr[k]];row[i]++;col[j]++;if(row[i] == n || col[j] == m) {return k;}k++;}return k;}
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!