使用 Python 在二进制矩阵中查找特殊位置数的程序

假设我们有一个 mxn 阶的二进制矩阵,我们必须找到矩阵中特殊位置的数量。当 mat[i,j] = 1 并且第 i 行和第 j 列中的所有其他元素都为 0 时,位置 (i,j) 是一个特殊位置。

所以,如果输入是这样的

10000
00100
00011
01000

那么输出将是 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

以上是 使用 Python 在二进制矩阵中查找特殊位置数的程序 的全部内容, 来源链接: utcz.com/z/322775.html

回到顶部