Допустим, мы прочитали эти значения:
3
1241
124515
5322353
341
43262267234
1241
1241
3213131
И у меня есть такой массив (с элементами выше):
a[0]=1241
a[1]=124515
a[2]=43262267234
a[3]=3
...
Дело в том, что элементы 'порядок в массиве не является постоянным (я должен изменить его где-нибудь в моей программе).
Как узнать, в какой позиции один элемент появляется в прочитанном документе.
Обратите внимание, чтоЯ не могу сделать:
vector <int> a[1000000000000];
a[number].push_back(all_positions);
Поскольку a будет слишком большим (есть ограничение памяти).(допустим, у меня есть только 3000 элементов, но их значения находятся в диапазоне от 0 до 2 ^ 32)
Итак, в приведенном выше примере я хотел бы знать, что все позиции 1241 появляются без повторения итерации.через все прочитанные элементы.
Другими словами, как я могу связать с числом "1241" позиции "1,6,7", чтобы я мог просто получить к ним доступ в O (1) (где на самом деле 1это число позиций, в которых появляется элемент)
Если нет O (1), я хочу знать, какое из них оптимальное ... Я не знаю, ясно ли я пояснил.Если нет, просто скажите это, и я обновлю свой вопрос:)