Egor Wexler печатает…
5.34K subscribers
15 photos
25 videos
2 files
43 links
Principal Software Engineer в Dell
Учу программировать 🐍 на Wexler.io

Инстаграм:
Instagram.com/egor_wexler
加入频道
Forwarded from Egor Wexler
This media is not supported in your browser
VIEW IN TELEGRAM
🥴27👍16😁12👎21🌚1
Live stream scheduled for
Завтра начинается набор на новый поток Большого Курса Python 🐍

Проведем небольшой эфир прямо здесь в Телеграм

Основная тема эфира: "Как и зачем изучать программирования в эру ИИ"

Заодно поотвечаю на любые ваши вопросы

Увидимся завтра в 17:00
👍218😁3🔥2
Комментарии к эфиру 👇
Не нажал кнопку записи в Телеграмме 🥲, поэтому запись только в инсте

Запись Эфира в Instagram

__________________________
Набор на Большой Курс Python 🐍 открыт

Если актуальна оплата криптовалютой - пишите на [email protected] 😉

Присоединиться или начать бесплатно 👇

wexler.io/python
wexler.io/python
wexler.io/python
👍9
Задача из инстаграма №1

Дан массив битов (нули, единицы)
И из этого массива теряется один бит.

Мы можем поставить в конец массива какой-то бит, который нам поможет сохранить целостность данных.
То есть, после потери нуля или единички, глядя на последний бит, можно определить - что именно мы потеряли.

Решение:

Надо посчитать количество единиц в массиве.
И если количество чётное, то в конец ставим 1. Если нечётное - 0

Далее после потери - считаем сколько единиц осталось - если число всё еще чётное, то мы потеряли ноль, если нечётное - потеряли единичку.


Насколько эти знания/понимания пригодятся в работе - вопрос очень спорный 😂
🥴53👍25💯4🤔31
Задача начальника №2

Дан массив чисел
int Arr[MAX_LEN];


и методы
void SetCell(int value, int index);
void GetCell(int index);
void SetAllCells(int value);


Которые соответственно
- задает значение ячейки
- получает значение из ячейки
- задает какое-то значение всем ячейкам.

И надо сделать эти три метода так, чтобы time complexity был O(1)
То есть не зависело от размера массива.

Проблема в третьем методе - если менять в значения в массиве, то это будет О(N)

Решение:

Следить за тем, когда ячейки были заданы.
Если мы вызвали SetCell - меняем значение в ячейке и обновляем версию этой конкретной ячейки на последнюю

Когда вызываем SetAllCells - меняем "глобальное" значение и двигаем вверх "глобальную" версию.

Если версия в конкретной ячейке более старая, чем глобальная - это значит что SetAllCells был вызван после SetCell и нам надо вернуть глобальное значение. В ином случае - просто смотрим в ячейку.

В коде - в комментарии 👇:
👍95