Sobes.tech
Junior — Middle
88

Kako implementirati algoritam koji traži prvi element iz prvog niza koji nedostaje u drugom nizu?

Компаније где су питане
ПСБ

Одговор од АИ

sobes.tech АИ

Для поиска первого элемента из первого массива, который отсутствует во втором, можно использовать множество (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 — длина первого массива.