Как сравнить два диапазона в Kotlin? - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть один массив диапазонов и один диапазон, который составляет мин. Количество диапазонов Массив .. макс. Количество диапазонов Массив

Как найти число, что не используется в моем большом диапазоне?

, например: [1..3, 4..6, 8..10], а диапазон значений будет 1..10

, а 7 не входит ни в один из диапазонов в обр. Как я могу найти это?

    import java.util.*

fun main() {
    val scanner = Scanner(System.`in`)

    repeat(scanner.nextInt()) {

        val listOfRange = mutableListOf<IntRange>()
        var min = Int.MAX_VALUE
        var max = Int.MIN_VALUE

        repeat(scanner.nextInt()) {
            listOfRange.add(scanner.nextInt()..scanner.nextInt())
        }

        for (i in listOfRange) {
            if (min > i.first) min = i.first
            if (max < i.last) max = i.last
        }
        val maxRange = min .. max

    }
}

1 Ответ

1 голос
/ 28 февраля 2020

Чтобы найти число, которое находится в listOfRange, но в listOfRange, вы можете использовать flatten:

val newList = listOfRange.minus(listOfRange.flatten())
...