00:00:52 Denis S: hello 00:00:53 Evgenii: всем привет 00:00:53 Стас: Всем привет) 00:00:56 Арсен Дюбуа: ✋ 00:01:03 Анна: привет! 00:01:03 Artem Drobyshev: Привет! 00:01:48 Стас: Вторая часть задач вызывает сложность) 00:02:39 Denis S: да какие там успехи? где вообще разбор задачи после сдачи? даже на степике было обсуждение 00:02:53 Evgenii: только времени не хватает 00:02:54 Стас: Хотелось бы разобрать про ноды 00:02:57 vardeath: подстроки, списки с уникальными символами, котоыре там от О(1) должны работать. 00:03:36 vardeath: и еще печалит, что нельзя чужие решения смотреть 00:04:49 Denis S: мы ж не спортсмены)) 00:05:04 Denis S: какое ещё спортивное программирование?) 00:05:56 Елена Курносова: ну ребят, тяжело в учении - легко в бою) 00:06:04 vardeath: я честно говоря когда увидел список всех задач - то на денек в депрессию впал) 00:06:14 Константин Аксенов: тоже самое:) 00:06:21 Denis S: а потом ещё и второй список) 00:06:35 Dmitry Volkov: а где количество увидеть? 00:06:47 Evgenii: )) 00:06:48 Dmitry Volkov: а то я решаю решаю а они некончаются 00:06:50 Denis S: 17 + 17 +2 00:06:56 Анна: еще сложнее? все, расходимся=) 00:07:07 Denis S: пока) 00:08:03 Константин Аксенов: 1 00:08:07 Sergey Pahomov: 3 00:08:07 Evgenii: 1 00:08:07 Елена Курносова: 3 00:08:07 tsaplinale: 3 00:08:08 Ivan Zorya: 3 00:08:08 sergey: 1 00:08:09 Анна: 2 00:08:10 Стас: 2 00:08:10 vardeath: 1 00:08:11 Aleksandra Kosovets: 3 00:08:12 Denis S: 4, подсмотрел)) 00:10:07 Анна: да 00:10:08 Sergey Pahomov: + 00:10:09 Дмитрий С: + 00:10:16 Aleksandra Kosovets: + 00:10:25 Denis Smirnov: + 00:10:51 Дмитрий С: словарем 00:11:16 Denis S: решал через два цикла и срез, но не прошло по времени) 00:11:30 Илья Абросимов: накидал кучу лапши через if 00:12:16 Илья Абросимов: Посылка 36425600 00:13:03 Egor Egorov: def substrings(s): list_of_letter = [] list_of_letter.extend(s) tmp = [] cnt = 0 len_s = len(list_of_letter) for i in range(len(list_of_letter)): j = i while list_of_letter[j] not in tmp: tmp.append(list_of_letter[j]) if j == len_s - 1: break else: j += 1 k = len(tmp) if cnt < k: cnt = len(tmp) tmp = [] return cnt 00:13:33 Sergey Pahomov: Если уже решили не предлагать свои решения? 00:14:14 Sergey Pahomov: У меня с помощью дикой рекурсии решение :) 00:15:19 Sergey Pahomov: + 00:18:58 Дмитрий С: + 00:19:00 Evgenii: видно строку 00:19:02 tsaplinale: ++ 00:19:04 Богдан: ++ 00:19:09 evlogii: слышно и видно 00:26:43 Константин Аксенов: если можно 00:26:44 Evgenii: как лучше удалить первый элемент массива? 00:26:53 Илья Абросимов: во сколько строк можно реализовать этот алгоритм? 00:31:13 Илья Абросимов: хорошо бы когда-нибудь увидеть эти 5 строк, а то у меня 29:( 00:32:36 Dmitry Volkov: с ходу тут строчек 20-30 минимум ) 00:32:49 Константин Аксенов: да 00:32:51 vardeath: да нормально 00:33:05 Evgenii: норм 00:33:51 Дмитрий С: главное все-таки не количество кода, а время выполнения и память) 00:34:31 Анна: дальше=) 00:35:09 Елена Курносова: 2 00:35:11 Дмитрий С: 1 00:35:14 Анна: 1 00:35:14 tsaplinale: 1 00:35:16 Илья Абросимов: не решал 00:35:17 vardeath: 1 00:35:19 Roman Khrustalev: 1 00:35:22 Богдан: не решал 00:36:45 Анна: словарь 00:37:15 Дмитрий С: тут тоже словарь)) 00:38:08 Елена Курносова: я решала через list.count['открытая скобка'] == list.count['закрывающая скобка'], но некоторые тесты падают 00:38:09 Denis S: а если )))((( 00:38:15 Denis S: невалидная) 00:38:25 Дмитрий С: можно добавлю? 00:38:27 Елена Курносова: вот вот) 00:38:29 L B: а если сначала закрывающая а потом открывающая? количество сойдётся а будет неверно при этом 00:38:35 Анна: ну это сходу) 00:39:09 Дмитрий С: ( - +1, ) - -1 00:39:19 Дмитрий С: если значение ушло в -, то невалидная 00:39:38 Дмитрий С: по каждому виду скобки - отдельный ключ словаря 00:39:57 Denis S: через стек вроде решается 00:43:18 tsaplinale: + 00:43:21 Константин Аксенов: - 00:43:21 Елена Курносова: + 00:43:23 Илья Абросимов: LIFO 00:43:25 Лилия: + 00:43:26 Roman Khrustalev: + 00:43:27 Богдан: - 00:43:29 vardeath: + 00:43:33 Сергей Богданов: + 00:43:37 Стас: да но хотелось бы подробнее объяснить 00:44:12 Denis S: ложим все открывающиеся скобки, а когда приходит закрывающая, то мы её проверяем с верхним элементом, если соответствует, то stack.pop 00:44:19 Елена Курносова: кладём)) 00:44:27 Denis S: не важно!))) 00:44:31 Елена Курносова: важно!) 00:44:36 Илья Абросимов: через рекурсию?) 00:46:33 Dmitry Volkov: супер - понятно! 00:46:45 Denis S: можно и не стек, а просто список) 00:47:14 Илья Абросимов: на одной из кортинок удаляются две открывающие скобки [ [ 00:47:24 Илья Абросимов: должно же пара быть []? 00:47:46 Илья Абросимов: а когда {[{ 00:48:11 Дмитрий С: не 00:48:12 Илья Абросимов: lf 00:48:13 Илья Абросимов: да 00:48:13 Дмитрий С: дальше 00:48:13 L B: следующая 00:48:17 Denis S: хотим переключиться на лайвкодинг)) 00:48:31 Илья Абросимов: поддерживаю Дениса 00:48:40 Egor Egorov: Женя говорил кажется что не лайвкодит) 00:48:51 Denis S: очень зря!) 00:48:53 vardeath: да не и так нормально поясняет 00:48:59 Egor Egorov: )))) 00:50:16 Илья Абросимов: а если идут подряд [ { [? 00:50:23 Дмитрий С: они все откроются 00:50:24 Denis S: не, ну серьёзно? вопросы по подстрокам и чё такое скобочная последовательность.... :/ давайте задач больше разберем 00:50:56 Дмитрий С: + 00:51:40 Сергей Богданов: не прозвучало, что если ловим "чужую" закрывающую скобку, то это сразу неправильная последовательность. 00:51:42 Илья Абросимов: так на гифке они уничтожались, а тут добавляется 00:52:39 Илья Абросимов: на гифе [ { [ и все 3 удаляются( 00:52:42 Илья Абросимов: ладно. 00:53:13 Дмитрий С: 2 00:53:13 tsaplinale: 1 00:53:14 Елена Курносова: 1 00:53:16 Константин Аксенов: 1 00:53:16 vardeath: 2 00:53:17 Roman Khrustalev: 1 00:53:17 Denis S: 3 00:53:19 Илья Абросимов: не решад 00:53:19 Анна: 3 00:53:20 Sergey Pahomov: 3 00:53:21 Лилия: 2 00:53:35 Denis S: лол, нет, я забыл чё цифры значат)) 00:53:59 Илья Абросимов: нет 00:54:04 Елена Курносова: нет 00:54:08 Анна: понятно 00:54:20 Илья Абросимов: нет понимания(( 00:55:04 Дмитрий С: Я решил с n2, но все равно TL (( 00:55:56 Egor Egorov: + 00:55:57 Анна: да 00:55:57 Roman Khrustalev: + 00:55:59 Богдан: + 01:00:07 Sergey Pahomov: да 01:00:21 Дмитрий С: я примерно так и делал, но все равно на 30м тесте валится по времени(( 01:02:04 vardeath: у мен почему - то по времени не прошло с таким подходом на последнем тесте 01:02:10 Egor Egorov: Пока тестовые данных не было, было не понятно, что тройки дней это дни не обязательно рядом. Столько времени убито было зря 01:03:47 Egor Egorov: Нет, надо пробовать 01:04:05 Дмитрий С: я пробовал этой логикой, пока не получилось 01:04:29 Дмитрий С: 30й тест, да, пришлю 01:05:10 Sergey Pahomov: Поищи реализации бинарного поиска 01:05:43 vardeath: главное сортировку не забыть) 01:05:45 Илья Абросимов: в "грокаем алгоритмы" есть 01:06:18 Egor Egorov: ++ 01:07:31 Sergey Pahomov: def BinSearch(li, x): i = 0 j = len(li)-1 while i < j: m = int((i+j)/2) if x > li[m]: i = m+1 else: j = m if li[j] == x: return j else: return None 01:08:10 Denis S: задача J. Стек - MaxEffective я так понимаю как реализовать pop ?)) 01:08:22 Лилия: В задаче про поиск максимального элемента в стеке есть странная формулировка - реализовать все функции класса из учебного раздела по стеку и в то же время не более трёх методов. нужно ли реализовать peek() и size()? 01:08:30 vardeath: [::-1] Denis) 01:08:54 Denis S: всмысле -1?) 01:08:59 vardeath: а не, ты про другую) я перепутал) 01:09:13 vardeath: там через связанный список вроде) 01:09:39 Denis S: ну я видел, что связанный список используют со стеком, но может есть другое решение 01:12:21 Дмитрий С: надо тоже сортировать 01:13:04 Дмитрий С: там сортировка не всего словаря, а только части 01:13:11 Denis S: сортировка сначала по KEY, потом VALUE 01:13:16 Дмитрий С: + 01:13:19 Евгений Бартенев: s = input() sl = {} for l in s: sl[l] = sl.get(l, 0) + 1 01:13:27 Evgenii: сортировка сразу по ключю и по значению 01:13:36 Evgenii: 2 сортировки вроде TL 01:14:26 Denis S: sorted_symbols = { k: v for k, v in sorted(symbols.items(), key=lambda x: (-x[1], x[0]))} 01:14:33 Дмитрий С: первая сортировка по m буквам, вторая по k повторениям одной буквы 01:14:57 Дмитрий С: в итоге сортировка m*k, что не больше n 01:15:05 Илья Абросимов: https://docs.python.org/3/howto/sorting.html#operator-module-functions через key=itemgetter можно отсортировать 01:15:07 Константин Аксенов: сорт ко всем, сортед только по спикам 01:15:41 Евгений Бартенев: result = sorted(sl.items(), key = lambda t: (-t[1], t[0])) 01:17:43 Илья Абросимов: как матрицу сформировать через проход по количество строк m, и количество столбцов n? 01:18:57 Denis S: задача J. Стек - MaxEffective как реализовать pop ?)) 01:19:06 Denis S: https://contest.yandex.ru/contest/18337/problems/J/ 01:22:06 vardeath: у тебя на основе списка же стек сделан? 01:22:17 Denis S: ты мне?) 01:22:17 Анна: 7 2 + 4 * 2 + 01:22:23 Анна: 38 01:22:24 vardeath: да Ден) 01:22:39 Denis S: так это задача про стек) конечно 01:23:36 Denis S: ты поляк что ли?))) 01:23:50 Evgenii: 9*2+2 01:23:54 Илья Абросимов: (7+2)*4 + 2 01:24:01 Evgenii: ой 9*4+2 01:24:03 Evgenii: 38 01:24:57 Дмитрий С: Тут приоритет по встречаемости, или по арифм. операторам? 01:25:12 evlogii: так на лиспе захотелось вдруг что-нибудь написать DDDD 01:25:18 Дмитрий С: т.е. не 7 +2*4 +2? 01:25:31 Евгений Бартенев: https://ru.wikipedia.org/wiki/Обратная_польская_запись 01:25:47 Анна: отлично) 01:26:11 evlogii: Спасибо за вебинар! ) 01:26:13 Анна: Спасибо! 01:26:13 Evgenii: спасибо за вебинар, всем пока 01:26:14 Сергей Богданов: спасибо! 01:26:14 Egor Egorov: Спасибо! 01:26:15 Дмитрий С: Спасибо! появились мысли как решать) 01:26:19 Roman Khrustalev: спасибо! 01:26:20 tsaplinale: Спасибо!! 01:26:23 Богдан: спасибо) 01:26:26 L B: спасибо