https://leetcode.com/problems/find-the-distance-value-between-two-arrays/ Easy

Условие

Даны два массива целых чисел arr1 и arr2, и целое число d.

Найди количество элементов x в arr1, для которых не существует элемента y в arr2, такого что |x - y| ≤ d.

Верни это количество.

Примеры

Input: arr1 = [4,5,8], arr2 = [10,9,1,8], d = 2 Output: 2 Explanation: Только 4 и 5 находятся на расстоянии более 2 от всех элементов второго массива.

Input: arr1 = [1,4,2,3], arr2 = [-4,-3,6,10,20,30], d = 3 Output: 2

Input: arr1 = [2,1,100,3], arr2 = [-5,-2,10,-3,7], d = 6 Output: 1

Решение

fun findTheDistanceValue(arr1: IntArray, arr2: IntArray, d: Int): Int {
    var count = 0 // Счётчик подходящих элементов из arr1

    // Проходим по каждому элементу из arr1
    for (x in arr1) {
        var valid = true // Флаг: подходит ли текущий x

        // Проверяем расстояние до каждого элемента из arr2
        for (y in arr2) {
            // Если расстояние меньше или равно d — x не подходит
            if (kotlin.math.abs(x - y) <= d) {
                valid = false
                break // Прерываем внутренний цикл
            }
        }

        // Если не нашли ни одного "слишком близкого" элемента — увеличиваем счётчик
        if (valid) count++
    }

    return count
}

Временная сложность

O(n * m), где n — длина arr1, m — длина arr2.

Пространственная сложность

O(1), дополнительная память не используется.