Массивы
Обзор
Массивы - это фундамент алгоритмического интервью. Несмотря на кажущуюся простоту, именно на них проверяют базу, без которой невозможно освоение более сложных структур данных.
На собеседованиях задачи на массивы встречаются чаще всего: от классического перебора до манипуляций с указателями.
В этом разделе мы разберем несколько задач на массивы, используя простой перебор.
Перебор - это "скелет" большинства решений. Даже если в итоге вы придете к сложной оптимизации, все начинается с умения правильно пройтись по элементам массива.
В этом разделе мы сосредоточимся в основном на следующем:
- линейный проход: когда одного цикла достаточно, чтобы найти максимум, минимум или проверить условие.
- проход с конца: прием, который часто спасает, если нужно модифицировать массив "на месте" (in-place), не затирая данные.
- вложенные циклы: классический (хоть и не всегда оптимальный) способ сравнить каждый элемент с каждым.
Главная цель здесь - научиться писать чистый код без "ошибок на единицу" (off-by-one errors) и четко определять временную и пространственную сложность.