📅  最后修改于: 2023-12-03 15:23:32.204000             🧑  作者: Mango
给定一个大小为n的矩阵,计算其中数值k的频率。矩阵的每个元素的值都是该元素行列下标之和,即 matrix(i, j) = i+j
。
遍历整个矩阵,统计数值k出现的次数即可。
def count_frequency(matrix, k):
freq = 0
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if matrix[i][j] == k:
freq += 1
return freq
遍历整个矩阵需要O(n^2)的时间复杂度,因此算法的时间复杂度为O(n^2)。
只需要一个变量来统计数值k的频率,因此空间复杂度为O(1)。
matrix = [[0, 1, 2], [1, 2, 3], [2, 3, 4]]
print(count_frequency(matrix, 3)) # 输出2,因为3在矩阵中出现了2次