📅  最后修改于: 2023-12-03 15:10:48.076000             🧑  作者: Mango
在计算机科学中,按位与是一种位运算,它将两个二进制数的对应位都为1时,该位的结果为1,否则为0。本文将介绍如何查询给定矩阵中的按位与。
下面是一种简单的实现方式:
def bit_and(matrix):
res = matrix[0]
for i in range(1, len(matrix)):
for j in range(len(matrix[0])):
res[j] &= matrix[i][j]
return res
该函数接收一个矩阵作为参数,并返回该矩阵中每一列的按位与结果。具体实现很简单,我们将矩阵的第一行作为初始结果,然后对矩阵的每一行进行遍历,在每一列中,我们将结果与当前值进行按位与运算,最终得到每一列的按位与结果。
matrix = [[1, 2, 3], [2, 3, 4], [1, 3, 1]]
print(bit_and(matrix)) # [0, 2, 0]
上述代码会输出 [0, 2, 0]
,表示该矩阵中每一列的按位与结果为 [1 & 2 & 1, 2 & 3 & 3, 3 & 4 & 1]
,即 [0, 2, 0]
。
本文介绍了如何查询给定矩阵中的按位与。我们通过对每一列进行按位与运算,得到最终结果。此解决方案的时间复杂度为 O(n*m),其中 n,m 分别为矩阵的行数和列数。