Яндекс Практикум. Программирование и анализ данных
Полезное для начинающих разработчиков, тестировщиков и аналитиков данных. Отвечаем на вопросы и делимся новостями Практикума. Выбрать курс и попробовать свои силы бесплатно: https://ya.cc/t/3bO2f2245AmCeQ Номер заявления в РКН 4970781590
Показати більше📈 Аналітичний огляд Telegram-каналу Яндекс Практикум. Программирование и анализ данных
Канал Яндекс Практикум. Программирование и анализ данных (@practicumtech) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 11 093 підписників, посідаючи 11 093 місце в категорії Технології та додатки та 57 380 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 11 093 підписників.
За останніми даними від 06 листопада, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -79, а за останні 24 години на 1, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 12.08%. Протягом перших 24 годин після публікації контент зазвичай збирає 4.63% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 1 341 переглядів. Протягом першої доби публікація в середньому набирає 514 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 2.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як программирование, собеседование, c++, работодатель, программист.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Полезное для начинающих разработчиков, тестировщиков и аналитиков данных. Отвечаем на вопросы и делимся новостями Практикума. Выбрать курс и попробовать свои силы бесплатно: https://ya.cc/t/3bO2f2245AmCeQ
Номер заявления в РКН 4970781590”
Завдяки високій частоті оновлень (останні дані отримано 07 листопада, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
from bisect import bisect_left
def find(a: [int], k: int) -> int:
if not a:
return -1
i = bisect_left(a, k)
if i >= len(a):
return len(a) - 1
if not i or abs(k-a[i]) <= abs(k-a[i-1]):
return i
return i-1
Если задача показалась вам слишком легкой, Кирилл предлагает попробовать выполнить ее без модуля bisect.1 <= N <= 10^6
Число k: 0 <= k <= N
Индекс элемента: 0 <= index < N
Примеры
[1, 3, 4, 7, 9, 12] k = 5 Ответ: 2 (число 4)
[1, 3, 4, 12, 15, 15, 18] k = 14 Ответ: 4 (первое число 15)Решение не должно превышать по временно́й асимптотике O(log(N)), где N — длина массива.
int FindSingleNumber(const vector<int>& nums) {
int result = 0;
for (int n : nums) {
result ^= n;
}
return result;
}
Такой способ позволяет решить за O(n) по времени и O(1) по памяти.
Это возможно с помощью оператора XOR — исключающее ИЛИ.
Числа состоят из байтов, а байты из битов. XOR работает с битами двух чисел и возвращает в результате третье число. Операция производится поразрядно по одному биту из каждого числа.
XOR вернёт 1, если только один бит равен 1. Получится вот так:
A B C 0 0 0 1 0 1 0 1 1 1 1 0На примере вот такого вектора:
{12, 11, 12} рассмотрим что будет происходить. Покажем только 4 первых бита:
Изначально result равен нулю, значит:
0 ^ 12 — 0000 ^ 1100 = 1100
1100 ^ 11 — 1100 ^ 1011 = 0111
0111 ^ 12 — 0111 ^ 1100 = 1011
В конце получился 1011, это 11 в двоичной системе исчисления.
Первое число просто присвоилось переменной result, а далее биты другого числа вычитались из него. После второго числа в переменной было число 0111 — число 7. Если бы не условие, что все числа будут повторяться дважды, кроме одного, то наличие числа 7 в векторе всё бы испортило и превратило число назад в 0. Второе повторение того же числа (необязательно даже последовательное) отменяет первую операцию. А так как одно число повторяется только один раз, то его никто не компенсировал, и оно осталось храниться в результате.
Битовые операции используются в разных трюках. Попробуйте решить эту задачу менее оптимальным способом по памяти, например с использованием множества или словаря.int FindSingleNumber(vector<int>& nums) {
...
}<img src=”image.jpg” loading=”lazy” alt=”Alternative Text”>📌start Используйте start, чтобы изменить точку отсчёта в упорядоченных списках. В примере ниже отсчёт начнётся с двенадцати.
<ol start=”12”>
<li>Репка</li>
<li>Дедка</li>
<li>Бабка</li>
</ol>
📌poster
Используйте poster, чтобы установить обложку для видео. Она будет отображаться во время загрузки или пока пользователь не нажмёт кнопку воспроизведения.
<video poster="path/to/image">
Знали их все? На ваш взгляд, о каких интересных атрибутах вспоминают незаслуженно редко?😉