Junior — Middle
94
Jak implementovat algoritmus, který hledá první prvek z prvního pole, který chybí ve druhém poli?
Společnosti byly požádány
ПСБ
Odpověď od AI
sobes.tech AI
Для поиска первого элемента из первого массива, который отсутствует во втором, можно использовать множество (Set) для быстрого поиска. Сначала создаём Set из второго массива, затем проходим по первому массиву и возвращаем первый элемент, которого нет в этом Set.
Пример на Kotlin для Android:
fun findFirstMissingElement(arr1: List<Int>, arr2: List<Int>): Int? {
val set2 = arr2.toSet()
for (element in arr1) {
if (element !in set2) {
return element
}
}
return null // если все элементы из arr1 есть в arr2
}
// Использование:
val firstArray = listOf(1, 2, 3, 4)
val secondArray = listOf(2, 3, 5)
val result = findFirstMissingElement(firstArray, secondArray) // вернёт 1
Такой подход эффективен по времени, так как поиск во множестве происходит за O(1), а общий алгоритм — за O(n), где n — длина первого массива.