Size: a a a

Эликсир и Вунш

2019 October 11

МК

Максим Кузьмин in Эликсир и Вунш
Igor Evstifeev
сейчас Максим на работу устроится еще одну ))
Я все ещё ни одного супервизора не написал, о чем речь)
источник

w

wi11son in Эликсир и Вунш
так, короче, какая мысля
источник

w

wi11son in Эликсир и Вунш
допустим у меня массив [1,1,2,3,3,4,5]
источник

w

wi11son in Эликсир и Вунш
любые пары с единичками будут давать повторяющиеся суммы, а значит их выводить не надо
источник

w

wi11son in Эликсир и Вунш
любые пары с 3 убдут давать повторяющиеся суммы
источник

IE

Igor Evstifeev in Эликсир и Вунш
а если массив будет уникален то повторений не будет
источник

w

wi11son in Эликсир и Вунш
а значит мне из всего входного массива нужно исключить числа, которые там присутствуют больше 1 раза и останется только [2,4,5]
источник

w

wi11son in Эликсир и Вунш
ну первый этап, который существенноо мог бы сократить вычисления
источник

МК

Максим Кузьмин in Эликсир и Вунш
wi11son
ну первый этап, который существенноо мог бы сократить вычисления
Но потом будет второй и там все по новой
источник

w

wi11son in Эликсир и Вунш
природу входных данных тоже можно спросить, если задача ожидается быть прикладной
источник

МК

Максим Кузьмин in Эликсир и Вунш
И при нормальных данных первый может быть бесполезен)
источник

МК

Максим Кузьмин in Эликсир и Вунш
Или точнее незначителен
источник

IE

Igor Evstifeev in Эликсир и Вунш
"На вход программе подается массив чисел (возможны повторения)." - так в задании
источник

МК

Максим Кузьмин in Эликсир и Вунш
Чем вам с хэшем не нравится?
источник

IE

Igor Evstifeev in Эликсир и Вунш
что собественно я рассмотрел как подсказку в том что он должен стать уникальным
источник

МК

Максим Кузьмин in Эликсир и Вунш
Быстро, модно, используем преимущество структуры данных
источник

w

wi11son in Эликсир и Вунш
ну смотри, как минимум кол-во пар я сократил
2.6.3 :012 > [1,1,2,3,3,4,5].combination(2).count
=> 21
2.6.3 :013 > [2,4,5].combination(2).count
=> 3
источник

w

wi11son in Эликсир и Вунш
доступ по ключу — О(1), перебор хеша по всем ключам знчанием О(N)
источник

AK

Andrey Krivko in Эликсир и Вунш
Если по памяти ограничения нет, то hashmap - хороший вариант.
источник

AK

Andrey Krivko in Эликсир и Вунш
И перебирать на самом деле нет смысла. Если нужно просто выводить уникальные в stdout, то достаточно проверить, что в hashmap данного произведения ещё не было ранее
источник