📅  最后修改于: 2023-12-03 14:49:02.403000             🧑  作者: Mango
给定一个包含0和1的二进制矩阵,找出该矩阵中的“唯一”单元格。
“唯一”单元格是指所在行和列中只有一个值为1的单元格。
如果没有这样的单元格,则返回-1。
输入:
[[1,0,0,1,0],
[0,0,1,0,1],
[0,0,0,1,0],
[1,0,1,0,1]]
输出:
[0,2]
说明:在第0行和第2列中都只有一个1。
首先,根据题目描述,我们可以知道唯一单元格所在行和列都只有一个1。
那么我们可以遍历整个矩阵,记录每一行和每一列的1的个数。
接着再遍历整个矩阵,找到所在行和列都只有一个1的单元格即可。
class Solution:
def getUniqueCell(self, matrix: List[List[int]]) -> List[int]:
row_count = [0] * len(matrix)
col_count = [0] * len(matrix[0])
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if matrix[i][j] == 1:
row_count[i] += 1
col_count[j] += 1
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if matrix[i][j] == 1 and row_count[i] == 1 and col_count[j] == 1:
return [i,j]
return -1