Массив: Проверка
Закрепим материал
Определить сложность buyTicket.
___
Изначально может показаться, что buyTicket выполняется за линейное время, т.к. осуществляется проход по массиву.
НО! На каждой итерации вызывается contains.
Что делает contains под капотом?
Проходится по массиву purchasedDates, сравнивает искомый элемент с элементом в итерации. В худшем случае это выполняется за линейное время.
На всякий случай заглянем в документацию :)
___
Вывод:
Сложность buyTicket - O(n * m)
n - количество элементов в dates
m - количество элементов в purchasedDates.
___
course_intro