📌  相关文章
📜  NxM 矩阵的每一行中存在的数组元素的计数(1)

📅  最后修改于: 2023-12-03 15:33:15.850000             🧑  作者: Mango

NxM 矩阵的每一行中存在的数组元素的计数

在处理矩阵数据时,有时需要知道每一行中出现过的数组元素及其出现次数。这个问题可以通过编写一个函数来解决,函数的输入是一个N x M的矩阵,输出是每一行中元素出现的次数。

输入格式

矩阵的输入格式为一个二维数组,其中每个元素都是一个整数。

matrix = [
  [1, 2, 3],
  [3, 4, 5],
  [2, 1, 3],
]
输出格式

输出格式为一个二维数组,其中每个元素都是一个字典,其中包含了该行中元素及其出现次数。

result = [
  {1: 1, 2: 1, 3: 1},
  {3: 1, 4: 1, 5: 1},
  {1: 1, 2: 1, 3: 1},
]
算法思路

为了解决这个问题,可以使用Python的内置字典类型来统计元素出现的次数。对于每一行,遍历所有元素,将元素作为字典的键进行统计,如果该键已经存在,则计数器加一,否则将该键加入字典,并赋值为1。

代码实现
def count_occurrences(matrix):
    result = []
    for row in matrix:
        counts = {}
        for element in row:
            if element in counts:
                counts[element] += 1
            else:
                counts[element] = 1
        result.append(counts)
    return result

返回值为二维数组,内部元素为字典类型,表示该行中元素及其出现次数。