使用 Python 在二进制矩阵中查找特殊位置数的程序
假设我们有一个mxn阶的二进制矩阵,我们必须找到矩阵中特殊位置的数量。当mat[i,j]=1并且第i行和第j列中的所有其他元素都为0时,位置(i,j)是一个特殊位置。
所以,如果输入是这样的
那么输出将是3,这里的特殊位置是(0,0)、(1,2)和(3,1)。
示例(Python)
让我们看看以下实现以获得更好的理解-
def solve(matrix):
special = 0
for i in range(len(matrix)):
if matrix[i].count(1) == 1:
numOfOne = 0
indexOfOne = matrix[i].index(1)
for j in range(len(matrix)):
if matrix[j][indexOfOne] == 1:
numOfOne += 1
if numOfOne > 1:
break
if numOfOne == 1:
special += 1
return special
matrix = [[1,0,0,0,0],
[0,0,1,0,0],
[0,0,0,1,1],
[0,1,0,0,0]]
print(solve(matrix))输入
[[1,0,0,0,0], [0,0,1,0,0], [0,0,0,1,1], [0,1,0,0,0]]输出结果
3