如何比较科特林的两个范围?

时间:2020-02-27 23:11:27

标签: algorithm kotlin find range

我有一个范围数组,并且一个范围是最小范围数组 .. 最大范围数组

我如何找到不在我的大范围内的号码?

例如: [1..3, 4..6, 8..10] 并且金额范围将为1..10

并且7不在Arr的范围之一内。我怎么找到它?

    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 个答案:

答案 0 :(得分:1)

要查找listOfRange中但listOfRange中的数字,可以使用flatten:

library(dplyr)

mpg2 %>%
  group_by(displ) %>%
  summarise(cty = sum(cty)) %>%
  mutate(cty_prop = cty/sum(cty))

# displ   cty cty_prop
#  <dbl> <int>    <dbl>
#1   2      80    0.544
#2   3.1    67    0.456
相关问题