Здравствуйте fearless, вы писали:
F>Здравствуйте, уважаемые. Хочу предложить вам поразмяться :-)
F>Есть массив длинны N. Известно, что больше половины элементов F>этого массива равны друг другу. Требуется за один (!) проход по F>массиву выяснить чему же они равны.
F>Ходят слухи, что если массив целочисленный, то существует математическое F>решение задачи. Но есть решение и в общем виде.
Ну с целочисленным тут вроде все понятно. Создаешь массив счетчиков встречаемости конкретных чисел и запоминаешь текущий максимальный счетчик. Правда массив может получиться немерянного размера (2^32 для int, если нет никаких априорных ограничений на диапазон чисел). :)
Для произвольных элементов для счетчиков можно использовать хеш-таблицу. Добавляются накладные расходы на хеширование и на разрешение коллизий.