Junior — Middle
92
Kaip įgyvendinti algoritmą, kuris ieško pirmo elemento iš pirmojo masyvo, kuris nėra antrajame masyve?
Įmonės kur klausė
ПСБ
Atsakymas iš 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 — длина первого массива.