gpt4 book ai didi

arrays - 如何判断一个数组是否有连续的整数,如果有,有多少个?

转载 作者:行者123 更新时间:2023-12-02 11:26:28 25 4
gpt4 key购买 nike

我对 Scala 还很陌生,但我试图确定一个数组是否有连续的整数,如果有,那么它有多少个。这是我到目前为止所拥有的,但我还没有让它发挥作用。

def isConsecutive(seq: Array[Int]): (Boolean, Int) = {
var arr: Array[Int] = Array[Int]()
for((v, i) <- seq.zipWithIndex) {
if (i < seq.length()) {
if (v + 1 == seq(i + 1)) {
arr = arr :+ v
}
}
}
var res = if (arr.length() < 1) true else false
return (res, arr.length())
}

我只想返回一个 bool 值来判断数组是否有连续的整数,即1,2,3,以及连续整数的个数或零。

最佳答案

def isConsecutive(seq: Array[Int]): (Boolean, Int) = {
val count = seq.sliding(2).count(a => a(0)+1 == a(1))
(count > 0, count)
}

并测试它:

scala> isConsecutive(Array(3,5,8,99))
res0: (Boolean, Int) = (false,0)

scala> isConsecutive(Array(3,4,5,8,99))
res1: (Boolean, Int) = (true,2)

scala> isConsecutive(Array(3,4,5,98,99))
res2: (Boolean, Int) = (true,3)

关于arrays - 如何判断一个数组是否有连续的整数,如果有,有多少个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35305196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com