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 = 2Output:
2Explanation:
Только 4 и 5 находятся на расстоянии более 2 от всех элементов второго массива.
Input:
arr1 = [1,4,2,3], arr2 = [-4,-3,6,10,20,30], d = 3Output:
2
Input:
arr1 = [2,1,100,3], arr2 = [-5,-2,10,-3,7], d = 6Output:
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)
, дополнительная память не используется.