Leetcode—2661.找出叠涂元素【中等】

2023每日刷题(四十六)

Leetcode---2661.找出叠涂元素

题意解读

题目意思就是,按照arr数组从左到右的顺序遍历各个arr[i],涂抹这个值在矩阵中对应位置的网格,一旦你发现它所在的行或者列满员了,就返回这个i

解题思路

实现代码

cpp 复制代码
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;
    }
};

运行结果


之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
独正己身4 分钟前
代码随想录day3
数据结构·c++·算法
Hunter_pcx5 分钟前
[C++技能提升]类注册
c++·人工智能
IU宝41 分钟前
vector的使用,以及部分功能的模拟实现(C++)
开发语言·c++
Hunter_pcx1 小时前
[C++技能提升]插件模式
开发语言·c++
左手の明天2 小时前
【C/C++】C++中使用vector存储并遍历数据
c语言·开发语言·c++
PaLu-LI2 小时前
ORB-SLAM2源码学习:Initializer.cc(13): Initializer::ReconstructF用F矩阵恢复R,t及三维点
c++·人工智能·学习·线性代数·ubuntu·计算机视觉·矩阵
呆呆珝2 小时前
RKNN_C++版本-YOLOV5
c++·人工智能·嵌入式硬件·yolo
fks1433 小时前
leetcode 2412. 完成所有交易的初始最少钱数
leetcode
迪小莫学AI3 小时前
【力扣每日一题】LeetCode 2412: 完成所有交易的初始最少钱数
算法·leetcode·职场和发展
c++初学者ABC3 小时前
蓝桥杯LQ1044 求完数
c++·算法·lq蓝桥杯