https://leetcode.cn/problems/first-completely-painted-row-or-column/description/
给你一个下标从 0 开始的整数数组
arr和一个m x n的整数 矩阵mat。arr和mat都包含范围[1,m * n]内的 所有 整数。从下标
0开始遍历arr中的每个下标i,并将包含整数arr[i]的mat单元格涂色。请你找出
arr中在mat的某一行或某一列上都被涂色且下标最小的元素,并返回其下标i。示例 1:
1
2
3 >输入:arr = [1,3,4,2], mat = [[1,4],[2,3]]
>输出:2
>解释:遍历如上图所示,arr[2] 在矩阵中的第一行或第二列上都被涂色。示例 2:
1
2
3 >输入:arr = [2,8,7,4,1,3,5,6,9], mat = [[3,2,5],[1,4,6],[8,7,9]]
>输出:3
>解释:遍历如上图所示,arr[3] 在矩阵中的第二列上都被涂色。提示:
m == mat.lengthn = mat[i].lengtharr.length == m * n1 <= m, n <= 1051 <= m * n <= 1051 <= arr[i], mat[r][c] <= m * narr中的所有整数 互不相同mat中的所有整数 互不相同
要求出最先涂满一列或者一行的对应数组下标。我们可以反过来思考,当数组 arr 遍历到什么时候,某行或某列才会被填满?答案是当这一行/列中的元素在 arr 中对应的最大的下标。
所以,我们可以先找出每一行每一列会在什么时候填满,然后从中取最小值即为记过。
1 | class Solution { |

