Skip to content

Latest commit

 

History

History
42 lines (28 loc) · 2.67 KB

programming.md

File metadata and controls

42 lines (28 loc) · 2.67 KB

Секция программирования в Тинькофф

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

Материалы для подготовки

Рекомендуем повторить все, что связано с алгоритмами:

  • основные структуры данных — строки, списки, деревья, ассоциативные массивы, векторы;
  • базовые алгоритмы — поиск элементов в коллекциях, обход деревьев, сортировки, динамическое программирование;
  • понятие сложности алгоритмов, O-нотация.

Пример задачи

Даны три неубывающих массива чисел. Найти число, которое присутствует во всех трех массивах.

Input: [1,2,4,5], [3,3,4], [2,3,4,5,6]
Output: 4

Целевое решение работает за O(p + q + r), где p, q, r – длины массивов, доп. память O(1), но эту информацию интервьюер не сообщает.

Сайты, которые помогают решать задачи:

Курсы:

Книги:

  • Алгоритмы. Построение и анализ / Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
  • Cracking the Coding Interview: 189 Programming Questions and Solutions / Gayle Laakmann McDowell