Junior — Middle
Ինչպե՞ս իրականացնել ալգորիթմ, որը որոնում է առաջին տարրը առաջին զանգվածից, որը բացակայում է երկրորդ զանգվածում:
sobes.tech AI
Պատասխան 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 — длина первого массива.