Roman
Sergey Ufocoder
Sergey Ufocoder
https://vk.com/wall-17796776_9859
Viktor
Stas
А почему сложность m+n? Мы же для каждого n проходим по группе из m элементов это же будет порядка m*n в итоге?
Viktor
Viktor
можно сделать n * len, где len — самая длинная группа
Viktor
arr = [1,1,1,1,2], g = [[1,1,2]] т.е. например так
Viktor
чтобы был общий префикс и поиск постоянно пробегал почти до конца группы
Lynn «Кофеман»
Да сложность как-то странно посчитана
Viktor
но если мы все же группу нашли, то от массива останется только хвост и поиск для следующей группы. поэтому n * m не может быть.
Lynn «Кофеман»
Учитывая ранние выходы по хорошему нужны оценки среднего и худшего случая. Как у quicksort
Viktor
Viktor
а не худшая
Stas
а не худшая
Ну да я так доже подумал, вообще не самый тривиальный пример, часть отбрасывается, но если ничего не совпадает то по идее будет (n-m)*m операций, что порядка n*m
Viktor
Viktor
Viktor
типа в итоге сравнишь всё со всем. грубо говоря.
Viktor
Viktor
Порридж В Ко-ливинге
@vitkarpov Вам подарок за счет заведения: Один алгоритм с иллюстрациями и объяснениями:
https://leetcode.com/problems/search-a-2d-matrix-ii/discuss/1079082/Python-C%2B%2B-O(M-%2B-N)-Explained-just-walk-from-Top-Right-corner
Viktor
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Прошу пояснительную бригаду фронтендеров…
Anton
Прошу пояснительную бригаду фронтендеров…
Если это VSCode, то попробуй перезагрузить окно. Иногда такое бывает, что что-то сломалось во взаимодействии редактора и сервера компилятора ¯\_(ツ)_/¯
Ну и на всякий случай проверь, что у тебя нужная версия ts используется
Порридж В Ко-ливинге
Не, тут вообще какой-то !@#$% твориться. У меня даже console.log() не работает. Это последний раз когда я с react-native работаю...
Lynn «Кофеман»
Прошу пояснительную бригаду фронтендеров…
TS недостаточно умный что бы помнить доступ к свойствам. Или наоборот слишком умный, т.к. свойство может быть геттером и выдавать разный результат. Поэтому он не может из проверки строкой выше исключить null.
Используй start.current!.measure
Lynn «Кофеман»
Или присвой current в переменную и проверяй её
Roman
А кто-нибудь пробовал подаваться на stackoverflow в разделе remote? Там столько интересных и сочных проектов
Viktor
А так кажется хорошая идея, почему нет.
Ilia
Ilia
Lynn «Кофеман»
Ilia
Lynn «Кофеман»
Т.е. в примере выше надо сделать const current = start.current и уже для этой переменной ts сможет внутри if сузить тип
Ilia
Ilia
Ilia
Ilia
указан тип, тип легко сужается и подсказывает что можно выбрать
Lynn «Кофеман»
Да внутри класса я не пробовал
Порридж В Ко-ливинге
Так, мини исследование, кто мне сегдня кидал апвоуты или даунвоуты, в Литкоде?
Alex Azarov
Alex Azarov
Я недавно чекал и было 6, да
Ну это Яндекс привыкай)))(
Порридж В Ко-ливинге
Roman
@vitkarpov spam^^^
Yuri
ребята, а вот есть у графов представление в виде adjacency list. А почему в нем списки используются, а не Set'ы например?
Viktor
Viktor
Один хрен зачастую нужны все детки при поиске.
Yuri
гм, ну вот например берем какой-нить DFS-поиск. Приятно же за O(1) проверить, есть ли искомый элемент в соседях у текущего
Yuri
просто ведь пробегаться по всем элементам set'а так же приятно, как по всем элементам массива/списка, а искать при этом быстрее
Viktor
Viktor
а если ты возможности сета никак не используешь, это может выглядеть как карго-культ. а это уже красный флаг.
Yuri
да, пожалуй, это микрооптимизация
Порридж В Ко-ливинге
Такое мотивирует писать объяснялки дальше 💪
https://leetcode.com/problems/broken-calculator/discuss/1076042/python-c-explanation-with-illustration-why-we-should-work-with-y-not-x
Порридж В Ко-ливинге
Походу надо с картинками только. Жаль что не все задачки можно картинками расписыватьб
Viktor
Viktor
Не все задачи интересные достаточно для того, чтобы тратить на это время, уж точно.
Порридж В Ко-ливинге
Ого, Клепман ушел из Линкеин чтобы написать кабанчика 🐗🙀
Full time work on writing my book
Viktor
Viktor
Может быть универ его спонсировал, а-ля грант какой.
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Я кстати понял в чем фишка скрама или эджайла, так и не поня что к чему, но короче кор фишка - перекладывать задачи на следующий спринт 🤣
Victor
Порридж В Ко-ливинге
😆
Nikita
Какой же странный JS язык( Вроде вот ввели структуру данных Set ребята в своем языке, но кажется с понятиями "множеств" вообще не были знакомы. Такие очевидные операции над множествами как объединение, разность, пересечение, сим разность, ребята вообще не поддержали. То есть там надо реально вывернуться, чтобы написать какую-нибудь сим разность (в то время как в python A ^ B). Ладно перегрузка операторов, но ребята даже не заморочились методы классов хотя бы сделать а-ля union, intersect и тд
Nikita
Порридж В Ко-ливинге
Viktor