int count[2^32];
for x in input:
count[x] = 0; // delete this loop if you can assume ram is cleared to 0.
for x in input:
count[x]++;
for x in input:
if count[x] == 3:
return x
Пожалуйста, извините за сочетание языков :-) Кроме того, очень глупо иметь массив, который можно индексировать любым целым числом - вы можете сделать это в 64-битной системе, и она соответствует требованиям.