Така съм решил първа част - два пъти, лол. Сега с новото ми решение от 8000 микросекунди падна на 150 микросекунди :) Но втората част ме мързи да я оптимизирам - нея съм я направил с една опашка, щото рекурсията е хуй с две остриета в ръст.
А също се оказа, че регулярните изрази не са чак толкова бавни - входа го парсвам за 700ус с регекс и за 250 с търсене за спейсове :Д
Двете втори задачи от вчера и предния ден бяха тегави. Хем знам, че могат да се решат с динамично, хем не мога да го измисля ;д
Втората от вчера я написах първо със brute-force, но беше супер бавно 😒. После добавих едно мемо и минава за 5ms заедно с четене на входа и сортиране так че съм quite happy :)
Ден девет бяха доста забавни задачите, защото бях забравил онзи трик за 2-sum където ходиш с два пойнтера - един от лява и един от дясно - та си го припомних.
Част 1 > 130 микросекунди (може и малко побързо, ако се ползва insertion sort)
Част 2 > 1 микросекунда :)
Вчерашната задача ми беше гадна - много бъгове направих докато я подкарам, кода ми стана страшно грозен и рънва страшно бавно - цели 6мс за част 1 и 18 за част 2. Някакъв беше направил решение на ръст със СИМД, което рънваше за 170 микросекунди :)
Днешната (Jurassic Jigsaw) обаче беше ужасна. Радвам се, че реших още първата част "правилно" с нареждане на пъзела та поне втората беше сравнително лесна.
Да, днешната беше гадна, а и ме болеше главата и почти се бях отказал. Но вчерашната беше по-гадна. Част 2 ме измъчи, въпреки че трябваше да направя съвсем малко промени. Просто тези милярди нива на рекурсия не можех да ги проследя и да дебъгна какво не работи като хората. Обаче като преспах и тази сутрин я подкарах от раз :Д