spezcial
spezcial

Reputation: 1

How to compare two ranges in Kotlin?

I have one array of ranges and one range that is min number of ranges Array .. max number of ranges Array

How can i find number, that is not used in my Big Range?

for example: [1..3, 4..6, 8..10] and Amount range will be 1..10

And 7 is not in one of ranges in Arr. How can I find it?

    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

    }
}

Upvotes: 0

Views: 1908

Answers (1)

Eugene
Eugene

Reputation: 1533

To find number that is in listOfRange but in listOfRange you can use flatten:

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

Upvotes: 2

Related Questions