查找矩阵中元素数量的程序遵循 Python 中的行列条件

假设我们有一个二元矩阵;我们必须找到遵循以下规则的矩阵中元素的数量 -

  • 矩阵[r, c] = 1

  • 当 j 不等于 c 时,对于每个 j,matrix[r, j] = 0,当 i 不等于 r 时,对于每个 i,matrix[i, c] = 0。

所以,如果输入是这样的

001
100
010

那么输出将是 3,因为我们有满足条件的单元格 (0,2)、(1,0) 和 (2,1)。

示例

让我们看下面的实现来更好地理解

def solve(matrix):

   if not matrix:

      return 0

   row = [sum(r) for r in matrix]

   col = [sum(c) for c in zip(*matrix)]

   m, n = len(matrix), len(matrix[0])

   res = 0

   for r in range(m):

      for c in range(n):

         if matrix[r][c] == 1 and row[r] == 1 and col[c] == 1:

            res += 1

   return res

matrix = [

   [0, 0, 1],

   [1, 0, 0],

   [0, 1, 0]

]

print(solve(matrix))

输入

[[0, 0, 1],[1, 0, 0],[0, 1, 0]]
输出结果
3

以上是 查找矩阵中元素数量的程序遵循 Python 中的行列条件 的全部内容, 来源链接: utcz.com/z/322600.html

回到顶部