Python 中按照行列标准查找矩阵中元素数量的程序
pythonserver side programmingprogramming更新于 2025/12/18 6:36:17
假设我们有一个二元矩阵;我们必须找到矩阵中遵循以下规则的元素数量 −
matrix[r, c] = 1
当 j 不等于 c 时,matrix[r, j] = 0;当 i 不等于 r 时,matrix[i, c] = 0。
因此,如果输入如下
| 0 | 0 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
那么输出将是 3,因为我们有单元格(0,2)、(1,0) 和 (2,1) 符合条件。
要解决这个问题,我们将遵循以下步骤 −
如果矩阵为空,则
返回 0
row := 矩阵中所有行条目的总和列表
col := 矩阵中所有列条目的总和列表
m := 矩阵的行数
n := 矩阵的列数
res := 0
对于 r 在 0 到 m - 1 的范围内,执行
对于 c 在 0 到 n 的范围内- 1,执行
如果 matrix[r, c] 为 1,row[r] 为 1,col[c] 也为 1,则
res := res + 1
返回 res
示例
让我们看看下面的实现以便更好地理解
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 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

