iOS Build & Run


Channel's geo and language: Russia, Russian
Category: Technologies


iOS-разработка с нуля

Related channels

Channel's geo and language
Russia, Russian
Statistics
Posts filter


Forward from: АлкоРитм | AlcoRhythm
Базовая база - done ✅

Блок "Базовая база" готов!
Темы, необходимые для решения 90% задач. По праву "базовая база", необходимая каждому разработчику.

Темы блока и задачи можно посмореть 'https://t.me/AlcoRhythm/3?comment=123' rel='nofollow'>здесь.

Блок:
• Интро (бесплатный)
• Базовая база
• Подготовка к собеседованию
• Продвинутый

Пока "Базовая база" по символичной цене - 2000р

🚀ПРИСОЕДИНИТЬСЯ


Forward from: АлкоРитм | AlcoRhythm
Бесплатный блок "Интро" готов!

Блок "Интро"
• в telegram
• на boosty
Выбирайте удобный для вас формат

Блок "'https://t.me/AlcoRhythm/3?comment=123' rel='nofollow'>Базовая база" будет готов сегодня/завтра


Forward from: АлкоРитм | AlcoRhythm
Марафон "Пробник"
Боишься алгоритмов и не хочешь получить "кота в мешке"? - тогда это для тебя.

Бесплатный* пробник курса в формате марафона!

Формат бота (бота, к сожалению, не успел написать):
1 день - 1 тема. Материалы появляются с утра, изучаешь в удобное для тебя время.
___

Для кого:

• Страх начинающих
"Боюсь запутаться в терминологии, объеме информации и сложных задачах"

• Не знаю с чего начать
"Не понимаю с чего начать решение, какой алгоритм использовать"

• Алгоритмическое плато
"Решаю только базовые задачи. Не понимаю как перейти к более сложным"
___

Программа:

Асимптотика
• Big O Notation

Алгоритмы
• Binary search / Бинарный поиск

Структуры данных
• Linked list / Связный список
• Stack / Стек
• Queue / Очередь

Паттерны / Техники
• Two Pointers / Два указателя
• Sliding Window / Скользящее окно

Сортировка
• Selection Sort / Сортировка выбором
• Bubble Sort / Пузырьковая сортировка
• Insertion Sort / Сортировка вставкой
• Quick Sort / Быстрая сортировка

Бонус
Как не завалить алгосекцию
___

Формат:
1 день - 1 тема
Формат бота: каждое утро появляется информация(текст + видео) по теме.

По 2 задачи на каждую тему.
Итого: 12 задач
___

Когда: 9-17 марта

*Стоимость: 1000р
Каждый участник получает скидку 1000р на курс "Алгоритмы и Структуры данных".
Итого: марафон - бесплатно
___

Запись / вопросы: @ya.skazal.gorbatiy


Forward from: АлкоРитм | AlcoRhythm
array.sort()

Вы когда-нибудь задумывались как работает сортировка из-под капота?
Возможно, это Quick sort?
Возможно, Merge Sort?
А, возможно, собственная секретная разработка?

За всех говорить не могу, но расскажу о таком подходе как Introsort.

Introsort (Introspective sort) = QuickSort + HeapSort + InsertionSort
Алгоритм сортировки, предложенный Дэвидом Мюссером[англ.] в 1997 году
___

Зачем столько сложностей❓

Изначально применяется QuickSort, НО в худшем случае он даст O(n²). Такая ситуация может произойти при неудачном выборе pivot.
Пример: отсортированный массив + pivot - последний элемент.

Можно выбирать опорный элемент при помощи median-of-three (первый, средний, последний - выбираем средний по величине). Метод хорошо работает на большинстве входных данных, но возможно найти такие входные данные, которые сильно замедлят алгоритм сортировки.

Еще один минус QuickSort - рекурсия, а точнее возможное переполнение стека. Например, лимит 2 * log n (при нормальном разбиении глубина рекурсии примерно log n). Если глубина стала больше, разбиение плохое, а, следовательно, риск O(n²).
___

Если глубина рекурсии слишком большая, переключаемся на HeapSort.

HeapSort дает гарантированное O(n log n), но в среднем работает медленнее.
___

InsertionSort применяется, когда размер подмассива маленький (меньше 16 или 32 элементов).

Почему в игру вступает InsertionSort❓

• рекурсия и partition становятся дороже
• insertion sort быстрее на маленьких массивах
• insertion sort почти линейный на почти отсортированных данных
___

Тезисно:
✅ Introsort - инженерный компромисс между скоростью и гарантией.

✅ InsertionSort - оптимизация для маленьких массивов.
✅ HeapSort - защита от деградации.
✅ QuickSort - основная рабочая лошадь.


Forward from: АлкоРитм | AlcoRhythm
Video is unavailable for watching
Show in Telegram


Forward from: АлкоРитм | AlcoRhythm
Video is unavailable for watching
Show in Telegram
А мы продолжаем...

В базовой части курса:
✅ разобрали основные темы
✅ решили по 5 задач на каждую тему
✅ закрепили знания решением 20 задач
В итоге: 70 решеных задач.

Настало время двигаться дальше!

Открывают вторую часть (название пока не придумал) деревья и обходы в глубину/ширину.

ПРИСОЕДИНЯЙСЯ 🍺


print("10" > "9")
Poll
  •   true
  •   false
  •   error
15 votes


Forward from: АлкоРитм | AlcoRhythm
❗️Решение "в лоб" - не для всех задач

На днях смотрел собеседование в Т-Банк. Увидев первую задачу, с легкостью решил ее в голове, НО! это произошло только благодаря насмотренности.


Дан массив целых чисел.
Разрешается выполнение следующей операции любое количество раз: два соседних элемента меняются между собой знаками.
Выведите максимальную сумму элементов массива, которую можно получить.


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

Есть целая категория задач, где алгоритмы и структуры данных ни при чем.

Условие может быть любым:
• соседние элементы меняются знаками;
• необходимо поменять знаки у k элементов;
• необходимо поменять знаки k раз;
• и т.д.

💡 Ловите алгохак:

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

Сделали сортировку - дальше будет проще.

Проверьте на задаче 1005. Maximize Sum Of Array After K Negations.
___

Мораль: Круто, когда кто-то берет тебя за руку и показывает куда смотреть, а куда нет :Ъ


А вы знали?
Poll
  •   Да
  •   Нет
17 votes


ВАЖНЫЙ ВОПРОС

Наверное каждый из вас, по непонятным причинам, помнит со школы формулу нахождения дискриминанта.

Вопрос (прошу ответить честно)
Вам в школе объясняли что такое дискриминант и зачем он нужен?

Например: вы знали, что дискриминант показывает пересечение параболы с осью Ох?


Оператор &* - переполняющее умножение (overflowing multiplication).

&*:
• игнорирует переполнение;
• выполняет умножение по модулю диапазона типа;
• не вызывает runtime error.
___

Для Int8 диапазон: -128...127

Общая формула: result = (a * b) mod 2^N
mod - остаток от деления (%), но не может быть отрицательным.

Числа, выходящие за пределы, оборачиваются по модулю 256 (2^8).

Наглядно

0000_0000 - 0
0000_0001 - 1
...
0111_1111 - 127
1000_0000 - -128
1000_0001 - -127
...
1111_1111 - -1
опять 0000_0000 - 0


32 * 4 = 128
128 не помещается в Int8.
Битовый паттерн зарезервирован под -128.


Что выведется в консоль?
Poll
  •   127
  •   128
  •   1
  •   -1
  •   -127
  •   -128
  •   nil
  •   error
13 votes


Разбирал хеш-таблицу, потребовался &*.

Давайте чуть-чуть разомнемся, пока нас всех не заменили 😆


Forward from: АлкоРитм | AlcoRhythm
Video is unavailable for watching
Show in Telegram
AlcoRhythm Lab

Второе видео про поиск в Контактах.

Создание Prefix Tree c функциями:
• добавление слова
• проверка слова целиком
• нахождение слов по префиксу

✅ Присоединиться


Forward from: АлкоРитм | AlcoRhythm
Video is unavailable for watching
Show in Telegram
AlcoRhythm Lab

Изучать алгоритмы и структуры данных ради литкода - занятие сомнительное, а где применять полученные знания - не понятно.

На самом деле все вокруг нас, стоит просто оглянуться…

Пример из жизни:
14 января. Неплохо бы поздравить маму со Старым Новым Годом. Берешь телефон, открываешь контакты, в поиске вводишь «Мама».
Хм…интересно, а как работает поиск контактов в айфоне? Если там может быть до 50 000 карточек, то вряд ли это простой перебор.


Конечно, реализация поиска встречается куда реже, чем покраска кнопки, но решение таких задач, как минимум, развивает соображалку да и просто делает тебя более эрудированным.

Формат телеграма хорошо зашел для курса, но не всем интересно полноценное обучение (или пока просто не готовы). Я создал отдельный канал, где буду разбирать алгоритмы и структуры данных на практике. Первое видео прикреплено к посту, а уже завтра напишу реализацию префиксного дерева.

Мне не нравится современная тенденция - подписываться на все подряд, поэтому я установил минимальную сумму - 200р (вчера 1 огурец и 1 томат купил за 150…лол)

Если вам интересен данный формат, увидимся в AlcoRhythm Lab ❤️


Forward from: АлкоРитм | AlcoRhythm
Стрим -> Видео

Для тех кто пропустил, собрал стрим в видео.

Для меня это новый формат, поддержите комментариями и лайками на YT плииз ❤️

🍿 СМОТРЕТЬ


Forward from: АлкоРитм | AlcoRhythm
Типичный новичок на LeetCode выглядит так:
- открыл задачу → попробовал решить;
- посмотрел решение → «ага, понятно»;
- закрыл → забыл.
Поздравляю! Вы только что завершили интеллектуальный спринт на месте.

Алгоритмические навыки не появляются сами собой. Их нужно развивать!
✅ Видеть признаки алгоритмов;
✅ Находить подсказки в условии;
✅ Понимать конечную цель.

На курсе мы именно этим и занимаемся…

Но если вы все-таки решили играть в одиночку, я баффнул вас шпаргалкой. В ней: признаки основных алгоритмов и стратегия их изучения.

В воскресенье (11 января) в 20:00 проведу стрим с решением задач и покажу как пользоваться шпаргалкой. Подписывайся, чтобы не потеряться :}

Если баффа маловато, посмотри видео с мемасами для поднятие боевого настроения❤️




AlcoRhythm: ближайшие планы

✅ Базовый курс составлен
✅ Словарик умных слов присутствует
✅ Скрины с синтаксисом Swift тоже есть
✅ "Алгоритмы и Факты" в наличии

Январь: прорешать 20 задач по пройденным темам (возможно больше, как получится)
На данный момент решено 50 задач.

Февраль:
- Разбор "продвинутых" тем
- Мок-собесы по базовой базе (цель: проверить полученные навыки, моральное состояние и способность рационально распределять время на задачи)

Дальше - больше...

Стоимость уже поднялась на 500р.
С каждым новым этапом цена продолжит расти. У вас есть отличный вариант попасть на курс по минимальной цене.

Напоминаю, что доступ НАВСЕГДА.
Не обязательно начинать учить все это сейчас.

🛍 ТВОЯ ЛУЧШАЯ ПОКУПКА ЗА ЯНВАРЬ


Forward from: АлкоРитм | AlcoRhythm
Video is unavailable for watching
Show in Telegram
Газета "Алгоритмы и Факты"

Курс приобрел дополнительный (необязательный) раздел: "Информация для общего развития". В нем будут собраны интересные факты: математические, исторические да и просто любопытные.

Это не сборник рандомных формул. Каждая тема подкреплена задачей. Так вы сможете увидеть, как интересные факты оживают в задачах и алгоритмах.

20 last posts shown.

174

subscribers
Channel statistics