我只尝试在给定数组中查找重复项。我的代码是:
def findDuplicates(nums: Array[Int]): List[Int] = {
nums.map(transformValues(nums)).toList
}
def transformValues(nums: Array[Int]): Array[Int] = {
nums.foldLeft(Array[Int]())((accumValue, nextEl) => {
if (nums.tail.contains(nextEl)) accumValue :+ nextEl
else accumValue
})
}
val arr = Array(5, 1, 1, 1, 2)
println(findDuplicates(arr))
结果应该是Array(1, 1, 1),但我收到了一个异常,我也尝试调试并发现在行 nums.map(transformValues(nums)).toList 中它返回初始数组。 有人可以帮助我了解问题所在吗?