📌  相关文章
📜  打印所有出现超过 N K 次的数组元素(1)

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

打印所有出现超过 N 次的数组元素

在开发中,有时我们需要找出数组中出现频率超过 N 次的元素。这个问题可以使用 HashMap 来解决。

下面是 Python 代码实现:

def print_frequent_items(arr, n, k):
    """
    打印出现次数超过 n * k 的元素
    :param arr: 数组
    :param n: 数组长度
    :param k: 出现次数的门限
    """
    freq = {}
    for i in range(n):
        if arr[i] in freq:
            freq[arr[i]] += 1
        else:
            freq[arr[i]] = 1

    for item in freq:
        if freq[item] > n * k:
            print(item)

这个函数接受三个参数:数组、数组长度、出现次数的门限。函数内部首先使用 HashMap 统计每个元素出现的次数,然后遍历 HashMap,打印出现次数超过门限的元素。

下面是一个使用案例:

arr = [1, 2, 3, 4, 5, 2, 2, 2, 1]
n = len(arr)
k = 0.3
print_frequent_items(arr, n, k)

输出:

2

以上就是 Python 实现打印所有出现超过 N 次的数组元素的方法。