Как найти число, которое повторяется n-ое кол-во раз быстрее?

Такс, большие умы стэка, обращаюсь к вам за помощью.

Есть список с большим кол-вом цифр. Пример: [1,3,2,1,2,3,1,2,3,3,2,1,1,2]. Дело в том, что надо получить из этого списка то число, которое повторяется n-ое кол-во раз быстрее. То есть, n = 3 и надо найти то число, которое повторится 3 раза быстрее остальных. В данном массиве это будет 1. Никак не могу дотумкать как это сделать, подскажите, пожалуйста?


Ответы (2 шт):

Автор решения: Danis
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

способ 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])
→ Ссылка