Информатик БУ - Подготовка к ЕГЭ по Информатике
17.7K subscribers
4.16K photos
173 videos
156 files
1.55K links
Материалы для подготовки к ЕГЭ 2026 от информатика БУ.
Чат: @infbu_chat
Курсы: https://shkolkovo.info/o7

Канал зарегистрирован: https://knd.gov.ru/license?id=678760f41e4e233a711922f0&registryType=bloggersPermission
Download Telegram
НАЙДИТЕ ОШИБКУ В РЕШЕНИИ

Задание 3.

Условие: Найдите наибольшую длину подстроки, в которой буква «X» встречается не более 5 раз.

Код с ошибкой:
s = open('file.txt').readline()
ans = 0
l = 0
count_X = 0

for r in range(len(s)):
if s[r] == 'X':
count_X += 1
while count_X > 3:
l += 1
if s[l] == 'X':
count_X -= 1
ans = max(ans, r - l + 1)
print(ans)
❤2
НАЙДИТЕ ОШИБКУ В РЕШЕНИИ

Задание 4.

Условие: Найдите наибольшую длину подстроки, в которой буква «X» встречается не более 3 раз, и буква «Y» встречается не более 3 раз.

Код с ошибкой:
s = open('file.txt').readline()
ans = 0
l = 0
count_X = 0
count_Y = 0

for r in range(len(s)):
if s[r] == 'X': count_X += 1
if s[r] == 'Y': count_Y += 1
while count_X > 3 and count_Y > 3:
if s[l] == 'X': count_X -= 1
if s[l] == 'Y': count_Y -= 1
l += 1
ans = max(ans, r - l + 1)
print(ans)
👍1
НАЙДИТЕ ОШИБКУ В РЕШЕНИИ

Задание 5.

Условие: Найдите наибольшую длину подстроки, содержащей не более 5 цифр.

Код с ошибкой:
s = open('file.txt').readline()
ans = 0
l = 0
count_digits = 0
digits = '0123456789'

for r in range(len(s)):
if s[r] in digits:
count_digits += 1
while count_digits >= 5:
if s[l] in digits
count_digits -= 1
l += 1
ans = max(ans, r - l + 1)
print(ans)
❤1🤔1
Жду ваши исправления) Ответы выложу завтра!
Ребята, видел, что не все ошибки смогли найти. 😢

Поэтому сейчас обязательно изучите объяснения! Если остались вопросы — жду в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥3👍2
ОТВЕТЫ НА РУБРИКУ МИНУС ОШИБКА 🔥

1. При сдвиге левого указателя l мы забываем уменьшать счетчик count_A, если выкидываемый символ был буквой «A». Из-за этого count_A только растет, и окно никогда не сможет сдвинуться корректно.

2. В Python строки индексируются с 0. Инициализация l = 1 пропускает самый первый символ строки. Если строка начинается с подходящей последовательности, первый символ будет проигнорирован, а при сдвиге l может возникнуть путаница.

3. Указатель l сдвигается на +1 до того, как мы проверяем символ s[l]. В итоге мы проверяем и выкидываем из подстроки не тот символ, который был на позиции l, а следующий за ним. Также подстрока перестает быть валидной, если счетчик стал больше 5, а не 3.

4. Условие count_X > 3 and count_Y > 3 означает, что окно будет сдвигаться только тогда, когда оба символа превышают лимит. Если, например, X стало 4, а Y осталось 2, цикл while не запустится, и мы посчитаем невподходящую подстроку. Для проверки невалидности подстроки нужно использовать or.

5. Условие «не более 5» означает, что 5 цифр — это допустимо. Но цикл while count_digits >= 5 будет сдвигать левую границу, как только цифр станет ровно 5, отсекая подходящие подстроки. Также при проверке символа под индексом левого указателя необходимо поставить двоеточие в конце if.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1💯1
Продолжаем закреплять метод двух указателей из №24.

Ловите небольшую сводку о том, как движется каждый из указателей. 📚
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥4
Продолжаем по максимуму закреплять изученные методы решения №24!

Самое время обновить обои на телефоне, а заодно и повторить теорию по двум указателям.)
❤5🔥3💯3
Надеюсь к этому моменту все уже успели отоспаться вдоволь)😄

Потому что сейчас будем проверять ваши знания после веба по регуляркам. Обязательно пишите в конце, сколько верных ответов вы дали.

Запускаем викторину!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1💯1
Какая из этих строк НЕ подходит под шаблон x+y (где + означает «один или более символов»)?
Anonymous Quiz
11%
xy
7%
хху
74%
у
9%
ххху