Evgeniy
Evgeniy
Категоричным вообще лучше не быть)
Viktor
Да, совсем чуть чуть
мне кажется если линию оттуда убрать, которая растёт как конь, и сделать интервал побольше, то разница будет виднее на другом масштабе
Viktor
"Так, увожаемый интервьюер, ну мы то все прекрасно понимаем, что при первой проблеме мы все пойдем на стак оверфлоу, так что давайте я вам продемострирую как эфективно найти решение данной задачи в глобальной сети Интернет"
ага, именно поэтому стековерфлоу полон заминусованных вопросов где чувак вываливает кусок лапши, не говорит в чем проблема, какую задачу решает, а просто пишет «народ, хз чё делаю, хз чего хочу добиться, решите за меня мою проблему, плз»
Viktor
😂
Порридж В Ко-ливинге
Viktor
что такое x^(1/10), мы ж про квадратный корень вроде говорили, не? т.е. x^(1/2)
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Ну да, уже при 10 000 (что вполне реально) разница в 5 раз
V
кстати, https://github.com/jdneo/vscode-leetcode
Evgeniy
Evgeniy
Viktor
Null
Happy Monday! 👋
На этой неделе ищем поддеревья — https://bit.ly/3bJPDKy
Рассказываю про сериализацию, подробнее про сложение строк (спойлер: это не O(1)) и рекурсивный вариант решения.
PS. У канала есть чат, если хочется обсудить прочитанное и не только (работает кнопка "discuss").
Viktor
Сегодняшняя задача классная. 1:45 решал дпшечку эту, потом посмотрел в решения — брутфорс по всем возможным квадратам проходит 😂
Viktor
Я не догадался глянуть в ограничения.
Viktor
Ну ладно, всё равно дпшечку надо разобрать, а то неинтересно.
Viktor
Сперва по неверному пути пошёл и потерял час пока отлаживал разные тесткейсы, потом забил и стал подбирать другую формулу перехода.
Evgeniy
Viktor
Я просто сразу подумал, что под конец челенджа не может быть медумной задачи с перебором.
Viktor
И стал думать в сторону дп.
Evgeniy
Интересно, что вчера вечером сам начинал разбирать сегодняшнюю задачу. И сегодня она выпала
Viktor
Хотя там есть серьёзная загвоздка. Это не совсем брутфорс.
Viktor
Ладно. Тогда я зря повёлся на «брутфорс» в заголовке.
Evgeniy
Какая ж в нём степень будет... n^4?
Viktor
ну вот есть прикол, который позволяет зная два угла квадрата за O(1) сказать квадрат это или нет
Evgeniy
Для каждой клетки квадрат
Viktor
в смысле все ли там единицы или нет
Evgeniy
От правого нижнего угла
Viktor
хм. да чё-то нет — я хотел предложить смотреть на дифы префиксных сумм, если там нолик встречался, то сумма прерывается и поэтому дифы будут отличаться, но я сейчас читаю его решение и там реально n^4
Viktor
¯\_(ツ)_/¯
Viktor
т.е. прямо натурально разбегаться двумя указателями по всем квадратам для каждой единички.
Viktor
(n*m)^2 получится
V
На Го брутфорс тоже прошёл, подтверждаю :)
Viktor
V
ктстаи, недавно я стал читать разборы задач от этого чувака. иногда попадаются интересные идеи
https://github.com/azl397985856/leetcode/blob/master/problems/221.maximal-square.md
V
(читаю через хром-переводчик)
Viktor
Через переводчик с китайского, хорооош 👍
Порридж В Ко-ливинге
V
иногда мне кажется, что литкод — это китайская платформа
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Но скорее всего алгоритмы гугла КОТОРЫЕ НЕ СЛЕДЯТЬ, ЧЕГО ЭТО ВЫ, ступили и подумали что мне нужен китайский...
Порридж В Ко-ливинге
Сервера вроде в Штатах
Viktor
Есть ещё форк вот такой leetcode-cn.com
V
Это же не форк, это их китайская морда
Viktor
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Запрещены переменные с названиями “Capitalism”, “ChinaFault”, “WinnieThePoo” и “Mao”
Viktor
Никто и не смеётся. Это было смешно в 2008 году, а в 2020 уже страшно.
Evgeniy
Понравилась задача сегодня. Подумать заставляет. С третьей попытки прошла тесты.
Evgeniy
https://leetcode.com/problems/maximal-square/discuss/600018/C-O(m*n)-DP-solution-beats-95-runtime
Viktor
Порридж В Ко-ливинге
Товарыщи
Порридж В Ко-ливинге
Кто нибудь решал задачку (уже вчерашнюю) быстрее чем за N*M
Порридж В Ко-ливинге
?
Viktor
Я — нет. Остановился на варианте с ДП, с которым 1,5 часа мучился.
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Я предыдущую вообще не решил…
Порридж В Ко-ливинге
Пришлось скопировать и разбирать
Viktor
Ну хз, для кого как, конечно. Ну я вот сперва по не правильному пути пошёл и час там сидел, пока не сделал шаг назад и вывел нормальную формулу перехода для дпшечки.
Порридж В Ко-ливинге
Viktor
В этой.
Порридж В Ко-ливинге
Щас я попробую реализовать одну мою идею в этой
Viktor
Кажется, задача сегодня это почти LRU 🙂 По крайней мере, я по той же схеме решал.
Viktor
Кстати, похоже ещё одна новая задачка.
Viktor
Даже в индекс гугла ещё не прососался.
V
да, похожая. но на мой взгляд эта была проще
Viktor
ага. тут ничего не надо перекладывать.
Viktor
удалил и забыл.
Viktor
в общем, эта техника с хранением указателей в мапе теперь надолго мне запомнится 😄
V
а ты хранил указатели? у меня опять получилось пройти с первым же интуитивным решением )
Viktor
ну да, как и в задаче с LRU. я завожу связный список куда кладу элементы. итераторы кладу в мапу, чтобы потом по ключу (элементу) достать этот итератор и за O(1) удалить его из списка.
Viktor
Мы уже обсуждали здесь, что иначе придётся искать элемент в списке каждый раз обходя его с головы, и это как бы не то зачем списки нужны.
V
не совсем. у меня хранится индекс со значениями и ссылка на первый уникальний элемент. при каждом добавлении я заново ищу следующий уникальный элемент, начиная с текущего