Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «Python | LeetCode»

Python | LeetCode
2.3K
110
675
22
2.1K
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Тесты telemetr.me/+20tRfhrwPpM4NDQy
Вопросы собесов telemetr.me/+cnJC0_ZeZ_I0OGY6
Вакансии telemetr.me/+cXGKkrOY2-w3ZTky
Подписчики
Всего
8 983
Сегодня
-5
Просмотров на пост
Всего
410
ER
Общий
4.57%
Суточный
4.02%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 2 335 постов
Смотреть все посты
Пост от 26.10.2026 12:06
44
0
0
Задача: 893. Groups of Special-Equivalent Strings
Сложность: medium

Вам дан массив строк одинаковой длины words. За один ход вы можете поменять местами любые два четных или любые два нечетных символа строки words[i]. Две строки words[i] и words[j] являются специально-эквивалентными, если после любого количества ходов words[i] == words[j].

Например, words[i] = "zzxy" и words[j] = "xyzz" являются специально-эквивалентными, потому что мы можем делать ходы "zzxy" -> "xzzy" -> "xyzz". Группа специально-эквивалентных строк из слов - это непустое подмножество слов, такое, что: каждая пара строк в группе специально-эквивалентна, и группа имеет максимально возможный размер (т.е, не существует строки words[i], не входящей в группу, такой, что words[i] является специально-эквивалентной каждой строке в группе). Верните количество групп специально-эквивалентных строк из слов.

Пример:
Input: words = ["abcd","cdab","cbad","xyzz","zzxy","zzyx"]
Output: 3

👨‍💻 Алгоритм:

1⃣Для каждой строки в массиве words создать два новых списка: один из символов на четных позициях, другой из символов на нечетных позициях. Отсортировать оба списка и объединить их в одну строку, которая будет представлять каноническую форму строки.

2⃣Использовать множество, чтобы хранить все уникальные канонические формы строк.

3⃣Размер множества будет равен количеству групп специально-эквивалентных строк.

😎 Решение:
def numSpecialEquivGroups(words):
unique_forms = set()

for word in words:
even_chars = sorted(word[0::2])
odd_chars = sorted(word[1::2])
canonical_form = ''.join(even_chars + odd_chars)
unique_forms.add(canonical_form)

Ставь 👍 и забирай 📚 Базу знаний
Пост от 26.10.2026 04:07
19
0
0
Какие ИИ-инструменты брать в работу, а какие пропустить

После этого урока картина станет понятнее: что подходит для ежедневных задач Python-разработчика, а что можно не пробовать.

Открытый урок «Инструменты на базе ИИ для Python-разработчиков» пройдет 19 ноября в 20:00 онлайн. Разберем примеры из реальной разработки и поговорим о том, как не тратить время зря.

На уроке:
- какие инструменты ускоряют работу
- для каких задач их стоит брать

📚Курс «Python-разработчик. Продвинутый уровень» стартует 30 ноября.

Зарегистрироваться

#реклама 16+
otus.ru
О рекламодателе
Пост от 25.10.2026 19:11
62
0
0
Задача: 751. IP to CIDR
Сложность: medium

Дан указатель на начало односвязного списка и два целых числа left и right, где left <= right. Необходимо перевернуть узлы списка, начиная с позиции left и заканчивая позицией right, и вернуть измененный список.

Пример:
Input: ip = "255.0.0.7", n = 10
Output: ["255.0.0.7/32","255.0.0.8/29","255.0.0.16/32"]

👨‍💻 Алгоритм:

1⃣Преобразовать начальный IP-адрес в целое число.

2⃣Пока количество оставшихся IP-адресов n больше нуля: Определить наибольший блок, который начинается с текущего IP-адреса и не превышает количество оставшихся IP-адресов. Добавить этот блок к результату. Увеличить текущий IP-адрес на размер блока. Уменьшить количество оставшихся IP-адресов n.

3⃣Преобразовать блоки обратно в формат CIDR и вернуть их.

😎 Решение:
def ip_to_int(ip):
parts = ip.split('.')
return (int(parts[0]) << 24) + (int(parts[1]) << 16) + (int(parts[2]) << 8) + int(parts[3])

def int_to_ip(num):
return f"{(num >> 24) & 255}.{(num >> 16) & 255}.{(num >> 8) & 255}.{num & 255}"

def cidr(ip, prefix_length):
return f"{ip}/{prefix_length}"

def find_cidr_blocks(start_ip, n):
start = ip_to_int(start_ip)
result = []

while n > 0:
max_size = 1
while max_size <= start and max_size <= n:
max_size <<= 1
max_size >>= 1

while start % max_size != 0:
max_size >>= 1

result.append(cidr(int_to_ip(start), 32 - max_size.bit_length() + 1))
start += max_size
n -= max_size

return result

Ставь 👍 и забирай 📚 Базу знаний
Пост от 25.10.2026 12:06
44
0
2
Задача: 1009. Complement of Base 10 Integer
Сложность: easy

Дополнение целого числа - это целое число, которое получается, если перевернуть все 0 в 1 и все 1 в 0 в его двоичном представлении. Например, целое число 5 - это "101" в двоичном представлении, а его дополнение - "010", то есть целое число 2. Если задано целое число n, верните его дополнение.

Пример:
Input: n = 5
Output: 2

👨‍💻 Алгоритм:

1⃣Определение длины двоичного представления:
Найдите длину двоичного представления числа n.

2⃣Создание маски:
Создайте маску, которая состоит из всех единиц и имеет ту же длину, что и двоичное представление числа n.

3⃣Вычисление дополнения:
Примените побитовую операцию XOR между числом n и маской, чтобы получить дополнение числа.

😎 Решение:
class Solution:
def findComplement(self, num: int) -> int:
length = num.bit_length()
mask = (1 << length) - 1
return num ^ mask

Ставь 👍 и забирай 📚 Базу знаний
Пост от 23.10.2026 13:10
164
0
0
Ваши финансы собраны или рассредоточены?

Всплеск глобального долга — напоминание, что ликвидность и её цена перераспределяются.

✅ DMA-счёт от «Финам» для юрлиц собирает все рынки и классы активов в единое управление: акции, РЕПО, обеспечение, прямые заявки — в одном счёте.

• Единый пул ликвидности: все рынки и бумаги
• РЕПО, обеспечение, прямые стаканы
• Неттирование арбитражных позиций между рынками Мосбиржи
• Гибкие ставки риска и фондирование под потребности компании

💻 Технические вопросы решаются напрямую с инженерами, без тикетов. Запросите встречу с командой DMA.

Информация не является индивидуальной инвестиционной рекомендацией и не гарантирует доходности. Инвестиции связаны с риском.

Перейти на сайт

Финансовые услуги оказывает: АО «Инвестиционная компания «ФИНАМ».

#реклама
broker.finam.ru
О рекламодателе
Пост от 23.10.2026 12:06
125
0
1
Задача: 1272. Remove Interval
Сложность: medium

Множество вещественных чисел можно представить как объединение нескольких несовпадающих интервалов, где каждый интервал имеет вид [a, b). Вещественное число x входит в множество, если один из его интервалов [a, b) содержит x (то есть a <= x < b). Вам дан отсортированный список непересекающихся интервалов, представляющих множество вещественных чисел, как описано выше, где intervals[i] = [ai, bi] представляет интервал [ai, bi). Вам также дан еще один интервал toBeRemoved. Верните набор вещественных чисел с интервалом toBeRemoved, удаленным из intervals. Другими словами, верните набор вещественных чисел, каждый x в котором находится в интервале, но не в toBeRemoved. Вашим ответом должен быть отсортированный список непересекающихся интервалов, как описано выше.

Пример:
Input: intervals = [[0,2],[3,4],[5,7]], toBeRemoved = [1,6]
Output: [[0,1],[6,7]]

👨‍💻 Алгоритм:

1⃣Итерируйтесь по каждому интервалу в списке intervals.

2⃣Для каждого интервала, проверяйте пересечения с toBeRemoved и обновляйте список результатов.

3⃣Добавляйте непересекающиеся части текущего интервала в результат.

😎 Решение:
def removeInterval(intervals, toBeRemoved):
result = []
for start, end in intervals:
if start < toBeRemoved[0]:
result.append([start, min(end, toBeRemoved[0])])
if end > toBeRemoved[1]:
result.append([max(start, toBeRemoved[1]), end])
return result

Ставь 👍 и забирай 📚 Базу знаний
Пост от 22.10.2026 13:44
96
0
0
Ищем менеджеров нейросетей, можно без опыта

Опыт не нужен. Только телефон. Занятость — 3-6 часов в день.
Нужно выполнять задачи с помощью нейросетей. Все это вы делаете из дома.

Всему обучим на бесплатном курсе и после поможем со стартом.

Что вас ждет за 3 дня:
✅ Уроки с практикой по 30 минут
✅ Домашние задания с проверкой и оплатой бонусами
✅ Выплата за каждую выполненную работу

🎓 Все, кто пройдет обучение, получат сертификат от школы с образовательной лицензией.

Набор закрывается, как только группа заполнится.

Чтобы занять место нажмите "Зарегистрироваться".

Зарегистрироваться

#реклама 16+
course.neurogansta.ru
О рекламодателе
Смотреть все посты