Sobes.tech
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 — длина первого массива.