Какая сложность будет у функции для нахождения числа первого массива которого нет во втором

«Какая сложность будет у функции для нахождения числа первого массива которого нет во втором» — вопрос из категории Алгоритмы и структуры данных, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Функция будет иметь сложность O(n + m), где n и m — размеры массивов.
Используем HashSet для второго массива (O(m) на создание), затем проходим по первому массиву (O(n)), проверяя наличие элементов в сете (O(1) на проверку).
Пример:

fun findMissing(arr1: IntArray, arr2: IntArray): Int? {  
    val set = arr2.toHashSet()  
    return arr1.firstOrNull { it !in set }  
}  

В худшем случае (элемент отсутствует или в конце) — O(n + m).