我有一个数组 val x : Array[Double]
并且想检查作为所有 x(i) <= x(i+1)
的每个 i
的函数的先决条件。在 Scala 中使用函数式编程的方法是什么。我寻找例如foldLeft
或 foldRight
但它们累积而不是访问每对相邻元素。
最佳答案
考虑一下:
def isMonotonic(arr:Array[Int]) =
if (arr.isEmpty) true
else (arr, arr.tail).zipped.forall {case (a,b) => a <= b}
简化的解决方案(感谢@som-snytt):
def isMonotonic(arr:Array[Int]) =
(arr, arr.drop(1)).zipped.forall (_ <= _)
关于scala - 在 Scala 中,检查数组是否单调的功能方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39341956/