DGDays Asked:2021-12-02 23:32:03 +0000 UTC2021-12-02 23:32:03 +0000 UTC 2021-12-02 23:32:03 +0000 UTC 如何找到一个重复n次更快的数字? 772 Tux,堆栈中的大人物,我正在向你寻求帮助。 有一个包含大量数字的列表。示例:[1,3,2,1,2,3,1,2,3,3,2,1,1,2]。问题是你需要从这个列表中获得重复n-ое次数更快的数字。也就是说,n = 3您需要找到重复速度比其他数字快 3 倍的数字。在给定的数组中,它将是1. 我不知道该怎么做,请告诉我 python 2 个回答 Voted Best Answer Danis 2021-12-02T23:35:46Z2021-12-02T23:35:46Z n = 3 arr = [1,3,2,1,2,3,1,2,3,3,2,1,1,2] dict_ = {el: 0 for el in set(arr)} for el in arr: dict_[el] += 1 if dict_[el] == n: print(el) break Zhihar 2021-12-02T23:44:29Z2021-12-02T23:44:29Z 方式1: data = [1,3,2,1,2,3,1,2,3,3,2,1,1,2] n = 3 arr = dict(zip(set(data), [0] * len(data))) for i in data: arr[i] += 1 if arr[i] == n: print(i) break 方式2: 在速度方面非常次优,但在 1 行: print([data[i] for i in range(len(data)) if data[:i+1].count(data[i]) == n][0])
方式1:
方式2:
在速度方面非常次优,但在 1 行: