Viktor
На собеседовании я бы ожидал фолоу-ап после решения с циклом, хотя и его стоит написать, как разогрев.
Viktor
Так, кстати, часто делают. Первой задачей дают простенькую, чтобы разогреться, а второй на той же секции — медиум.
Порридж В Ко-ливинге
Одно под копот
Порридж В Ко-ливинге
Другое для читабельности
Порридж В Ко-ливинге
Не знал, что в C++ код “;;;;;;;;;;” – валидный
Порридж В Ко-ливинге
хоть он ничего и не делеает
Evgeniy
С циклом это с 1 до n/2 перебором?
Порридж В Ко-ливинге
Ура!!! 🤣🤣🤣
Порридж В Ко-ливинге
Инвалид вставил квадратик в формочку для квадратика, а кружочек для кружочка 🤣🤣🤣
Порридж В Ко-ливинге
D была слабоватоой для обычного соревнование
Порридж В Ко-ливинге
Но это тестовое какое-то
Порридж В Ко-ливинге
Дивизион 4 (хотя обычно максимум 2)
Порридж В Ко-ливинге
С циклом это с 1 до n/2 перебором?
Оу, зачем же так грубо?
Порридж В Ко-ливинге
public: bool isPerfectSquare(int num) { for (long long test = 0, incr = 1; test <= num; test += incr, incr += 2){ if (num == test){ return true; } } return false; }
Порридж В Ко-ливинге
Квадраты же друг от друга находятся на растоянии 1 + n * 2
Evgeniy
Понятно
Порридж В Ко-ливинге
Ура!!! 🤣🤣🤣
Самое ироничное, что я наконец-то решил по кодфорсить, а мне выключили свет
Порридж В Ко-ливинге
Хотели мне все испортить, разрушить мою карьеру в гугле под корню 🤣
Evgeniy
Подключайся через мобильный интернет
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Мне отрубили через блин 10 минут после начала
Порридж В Ко-ливинге
Подключайся через мобильный интернет
Больше всего напрягает то, что у меня мак 2013 года
Evgeniy
Да уж, неприятно
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Да уж, неприятно
Если бы мне тогда купили бы прошку в макс комплектации, она бы еще лет 5 прослужила бы
Порридж В Ко-ливинге
Но ладно, это уже офтопчек
Viktor
@babanin Привет новым участникам! Мы периодически флудим, но на около-литкодовские темы 🙂 Сейчас решаем майский челендж на Leetcode, каждый день кидаем свои решениями, кто участвует, недавно собирались на виртуальный контест в зуме. Welcome!
Ivan
Привет 👋 Отлично :) Тоже прохожу майский челлендж.
Viktor
Привет, ну как, все судью нашли? 🙂
Viktor
https://www.youtube.com/watch?v=zX1OErMLuWk
Viktor
@Glazomer47 А я все продолжаю ставить стрёмную превьюшку 😂
Порридж В Ко-ливинге
Лицо когда спрашивают: "как сидится 2ой месяц на карантине" И ты отвечаешь: "нормально"
Порридж В Ко-ливинге
На самом деле на мем похоже
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Хотя вы немного улыбаетесь все таки
Порридж В Ко-ливинге
Хотя да, если приблизить прям улыбку видно
Порридж В Ко-ливинге
@vitkarpov не сочтите за оскорбление, просто шутка
Viktor
@vitkarpov не сочтите за оскорбление, просто шутка
🤣 кайф, спасибо. В книгу мемасологии меня
Evgeniy
https://leetcode.com/problems/find-the-town-judge/discuss/624693/C-simple-O(n)-solution-using-Dictionary
Evgeniy
Моё решение сегодняшней задачи
Evgeniy
Пока что одни Easy идут
Yuri
https://leetcode.com/problems/maximum-subarray/
Yuri
блин, такая боль( Нашел квадратичное решение и факториальное
Yuri
со вчерашнего дня пыхчу, наверняка ж надо просто сложить эти чиселки в какой-нить красно-черный-двухсвязный-хэш-стек и все сразу само собой выйдет
Evgeniy
это решается через алгоритм Кадана
Evgeniy
считаешь подряд сумму
Evgeniy
и каждый раз обновляешь максимум
Evgeniy
если сумма стала отрицательной, то накопленную сумму сбрасываешь в ноль
Evgeniy
и опять начинаешь накапливать
Yuri
считаешь подряд сумму
в смысле, скользящую сумму? каждый следующий с каждым предыдущим?
Evgeniy
Сброс в ноль потому что эти числа, которые дают в сумме отрицательное значение только понизит общую суммы. Поэтому она убирается
Evgeniy
например, 1 2 -4 4
Yuri
1+2=3, 3-4 = -1. Сброс. 4 - ответ?
Yuri
пипец
Yuri
буду визуализировать
Evgeniy
Да, лучше визуально
Yuri
вообще не понимаю, почему такое должно работать
Evgeniy
ну просто потому что нам нужна последовательная сумма
Evgeniy
ее можно разбить на две части как-то
Evgeniy
если, допустим, сумма в левой части отрицательна, то она вообще не нужна
Evgeniy
и остается правая только
Yuri
вот я до этого принципа вроде додумался, но алгоритм получился квадратичным. в массиве я выбирал последовательные положительные числа и называл их семенами. Брал самое большое семя и начинал его расширять влево и вправо. 4, 3, -1, 1, 1, 1, -5, 2,4
Evgeniy
Можно и так, да. Можно ещё, например, слева направо расширять. Но по времени может не пройти квадратичный, если много элементов
Yuri
разве? Вроде худший случай - это когда у нас штука вроде такой:
Yuri
-1, 5, -1, 5, -1, 5 …
Yuri
получается что семян n/2
Yuri
и от каждого надо сделать расширение влево-вправо до полного массива
Yuri
вроде квадрат по скорости выходит
Evgeniy
Да, квадрат
Evgeniy
В общем случае квадратичный все равно