Тёмный

Задание 24 (метод двух указателей) // КЕГЭ по информатике 2024 

Алексей Кабанов
Подписаться 38 тыс.
Просмотров 23 тыс.
50% 1

Решаем 24 задания через два указателя
ОТКРЫТЫЙ КУРС kompege.ru/course
Видео от Лёни: • Задание №24 - Метод дв...
Подписка на полезные материалы: vk.cc/c3R4Og
За мат, КАПС, политоту, флуд - перманентный бан.
Связаться с автором: cabanovalexey
Группа ВК ege_info_open
Тренажёр КЕГЭ: kompege.ru
--------------------------------------------------------------------------------------------
Ссылки на каналы других годных преподавателей:
Евгений Джобс / @evgenijjobs
Alex Danov / alexdanov
Андрей Рогов / devinf74
Леонид Шастин / @leoshastin
PRO100 EGE / @pro100ege68
Таймкоды
00:00 Приветствие
02:40 Подстрока с одним точкой (max)
15:45 Подстрока с одним символом X и Y (max)
23:00 Подстрока, в которой не менее 120 Z (min)
35:15 Подстрока, ограниченная A и D (max)
43:50 Подстрока, ограниченная буквами O (max)
54:30 Нет гласных букв и не менее 6 точек (max)
01:05:00 Сочетание 2024 повторяется не менее 4 раз (max)
01:12:15 Подстрока по пять XYZ и без символов ABC (max)
01:19:15 Сочетание SOLO не более 4 раз и как минимум 5 различных цифр
01:30:50 Подстрока со всеми шестнадцатеричными цифрами (min)
01:39:50 Окончание и напутствия

Опубликовано:

 

2 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 40   
@p51v
@p51v 2 месяца назад
Было бы прекрастно, чтобы было 3 разных дз, возвожно с повторяющимися задачами, для отработки всех способов
@kirillymshanov4689
@kirillymshanov4689 3 месяца назад
шикарный веб, спасибо, будет круто еще если таймкоды появятся)
@kev1n232
@kev1n232 Месяц назад
Благодарю за веб!😉
@veto4ka_
@veto4ka_ 2 месяца назад
СПАСИБО!
@alexeyzhuravlev9280
@alexeyzhuravlev9280 3 месяца назад
Алексей, почему вы с КЕГЭ удалили вэб по перебору на C++ в 27?
@kompege
@kompege 3 месяца назад
Потому что это потеряло актуальность
@crushitelyoutuba
@crushitelyoutuba 3 месяца назад
Алексей, здравствуйте, а когда домашка обновится по 24 вебу?
@user-pw8et2nv5b
@user-pw8et2nv5b 3 месяца назад
Будет ли по параллельным процессам(22) через деревья?
@kompege
@kompege 3 месяца назад
Дыа
@user-pd1ib3gl7z
@user-pd1ib3gl7z 2 месяца назад
44:22 - последовательные буквы, почему между ними могут быть еще буквы "О" ??
@user-yu7jn7fm8g
@user-yu7jn7fm8g 26 дней назад
перечитайте ещё раз условие, я сначала тоже подумал так
@GameChanger___
@GameChanger___ Месяц назад
1:10:14 Допустим в файле встречается последовательность '2022022'. Это будет считаться за две комбинации '2022'? Если нет, тогда нужно другое решение
@kompege
@kompege Месяц назад
В этой подстроке комбинация 2022 встречается два раза
@beautiful_ground
@beautiful_ground 3 месяца назад
а разве эта техника не называется сдвигающееся окно?
@user-sr6my4dn3r
@user-sr6my4dn3r 25 дней назад
здравствуйте. посмотрела 3 веба. прорешала дз. но такую задачку не получается решить Текстовый файл 24-280.txt состоит не более чем из 106 символов и содержит только заглавные буквы латинского алфавита. Определите длину самой длинной подпоследовательности символов, в которой нет повторяющихся букв. можете, пожалуйста, подсказать решение или хотя бы метод. буду очень благодарна
@kompege
@kompege 23 дня назад
Можно легко решить динамикой, это второй веб на курсе
@user-ty5bc1ji2c
@user-ty5bc1ji2c 3 месяца назад
Алексей, а домашка уже новая?)
@Urij_Player
@Urij_Player 3 месяца назад
а Этот стрим не разбит на таймкоды
@frog673
@frog673 22 дня назад
30:07 здесь же необязательно писать if kz == 120 там же в цикле в любом случае будет только 120 kz, разве нет??
@kompege
@kompege 22 дня назад
Ну я как раз про это и говорю )
@KyDARcho
@KyDARcho 20 дней назад
а почему только 120? не пойму
@kompege
@kompege 20 дней назад
@@KyDARcho Потому что это минимальное подходящее количество символов Z в подстроке.
@user-ih3pd4ht7t
@user-ih3pd4ht7t 17 дней назад
Программа номер 3 не будет работать, если строка состоит из 120 букв Z. В этом случае внутри цикла while kz сразу станет равным 119 и m вычисляться не будет.
@kompege
@kompege 15 дней назад
Согласен, проверку минимума лучше записать в начало цикла while
@JohnBorodach
@JohnBorodach 3 месяца назад
Не правильнее ли вызывать m = min(m, r - l + 1) сразу после while? В этой точке у нас точно выполняется условие all(d.values()) Если сделать это в конце, то например референсная строка '0123456789ABCDEF' распознана не будет. # s = open('24-249.txt').readline() s = '0123456789ABCDEF' d = {x: 0 for x in '0123456789ABCDEF'} l = 0 m = 10 ** 10 for r in range(len(s)): if s[r] in d: d[s[r]] += 1 while all(d.values()): m = min(m, r - l + 1) if s[l] in d: d[s[l]] -= 1 l += 1 print(m)
@kompege
@kompege 3 месяца назад
Я с вами полностью согласен )
@natmembers
@natmembers Месяц назад
10:30
@oabugaeva
@oabugaeva 2 месяца назад
Алексей, спасибо за подробный разбор, спасибо за помощь, тем, кто готовится к ЕГЭ. Решила использовать новый метод для решения № 4752. К сожалению, у меня не сошелся ответ. Не могу понять в чем ошибка. Помогите, пожалуйста. Вот мой код: s= open('24-181.txt').readline() l=m=k=0 for r in range(len(s)): if s[r]=='.': l=r+1 k=0 if s[r] in 'AEIOUY': k+=1 if k
@kompege
@kompege 2 месяца назад
А где сдвиг левой границы?
@oabugaeva
@oabugaeva 2 месяца назад
@@kompege Але,ксей, я думала, что команда l=r+1, сдвигает левую границу.
@kompege
@kompege 2 месяца назад
Если k>7 границу тоже нужно сдвигать
@oabugaeva
@oabugaeva 2 месяца назад
@@kompege Спасибо, поняла.
@polx990
@polx990 3 месяца назад
Алексееей
@GameChanger___
@GameChanger___ Месяц назад
53:36 Мне это кажется, или в вашем решении не учитываются варианты, когда самая длинная цепочка может начинаться не в той точке, где закончилась предыдущая цепочка, а находиться внутри этой последовательности? Ведь, если допускается присутствие других О внутри цепочки, тогда обязательно учесть и цепочки, начинающиеся с этих О и так же включающие не более двух F. Поэтому такое решение уместно для условия, что в искомой последовательности должно присутствовать не более одной F, но не подходит для двух и более. Мне точно не померещилась ошибка в этом решении, или я что-то не понимаю?
@kompege
@kompege Месяц назад
Ошибки нет, просто вы как то непонятно интерпретировали условие
@GameChanger___
@GameChanger___ Месяц назад
​@@kompegeизвините, я не учел, что между последовательными О
@damira9234
@damira9234 Месяц назад
​@@kompege На тесте: s = 'AAOBFCCFDDOEEEFAAOBBFCCODD' программа даст ответ 22 (т.е. цепочка: 'OBFCCFDDOEEEFAAOBBFCCO'), что неправильно! Правильный ответ 9 для подцепочки 'OBFCCFDDO', где символы 'O' идут последовательно.
@kompege
@kompege Месяц назад
@@damira9234 вы неправильно поняли условие задачи. Не более двух F между последовательными F, а не между крайними
@DJUEEZE
@DJUEEZE Месяц назад
Объяснение 3 задачи максимально плохое, можно скипать
@elobaka6138
@elobaka6138 2 месяца назад
Что скажете по поводу такого решения двух последних задач? s = open('24-262.txt').readline() l = m = 0 k1 = 0 k2 = '' for r in range(3, len(s)): k1 += s[r-3:r+1] == 'SOLO' k2 += s[r] if s[r] in '0123456789' else '' while k1 > 4: k1 -= s[l:l+4] == 'SOLO' if s[l] in '0123456789': k2 = k2.replace(s[l], '', 1) l += 1 if len(set(k2)) >= 5: m = max(m, r - l + 1) print(m) s = open('24-249.txt').readline() l = 0 m = 10**20 k = '' for r in range(len(s)): k += s[r] if s[r] in '0123456789ABCDEF' else '' while len(set(k)) >= 16: m = min(m, r - l + 1) if s[l] in '0123456789ABCDEF': k = k.replace(s[l], '', 1) l += 1 print(m)
Далее
Все мы немного Адриана 😂😂😂
00:11
надувательство чистой воды
00:28
Алгоритмы планирования
20:20
Просмотров 2,7 тыс.
Все мы немного Адриана 😂😂😂
00:11