青岛市崂山区城乡建设局网站,wordpress 夜间模式,深圳室内设计公司排行榜,网名设计在线生成器2023-12-01每日一题
一、题目编号
2661. 找出叠涂元素二、题目链接
点击跳转到题目位置
三、题目描述
给你一个下标从 0 开始的整数数组 arr 和一个 m x n 的整数 矩阵 mat 。arr 和 mat 都包含范围 [1#xff0c;m * n] 内的 所有 整数。
从下标 0 开始遍历 arr 中的每…2023-12-01每日一题
一、题目编号
2661. 找出叠涂元素二、题目链接
点击跳转到题目位置
三、题目描述
给你一个下标从 0 开始的整数数组 arr 和一个 m x n 的整数 矩阵 mat 。arr 和 mat 都包含范围 [1m * n] 内的 所有 整数。
从下标 0 开始遍历 arr 中的每个下标 i 并将包含整数 arr[i] 的 mat 单元格涂色。
请你找出 arr 中在 mat 的某一行或某一列上都被涂色且下标最小的元素并返回其下标 i 。
示例 1
示例 2 提示
m mat.lengthn mat[i].lengtharr.length m * n1 m, n 1051 m * n 1051 arr[i], mat[r][c] m * narr 中的所有整数 互不相同mat 中的所有整数 互不相同
四、解题代码
class Solution {unordered_mapint, int line;unordered_mapint, int row;unordered_mapint, int row1;unordered_mapint, int line1;
public:int firstCompleteIndex(vectorint arr, vectorvectorint mat) {int m mat.size();int n mat[0].size();int len arr.size();int judge_row n;int judge_line m;for(int i 0; i m; i){for(int j 0; j n; j){row1[mat[i][j]] i;line1[mat[i][j]] j;}}for(int i 0; i len; i){int x row1[arr[i]];int y line1[arr[i]];row[x];line[y];if(row[x] judge_row || line[y] judge_line){return i;}}return 0;}
};五、解题思路
(1) 哈希表。