Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在scala中更新数组中的重复项_Arrays_Scala - Fatal编程技术网

Arrays 如何在scala中更新数组中的重复项

Arrays 如何在scala中更新数组中的重复项,arrays,scala,Arrays,Scala,问题 数组包含重复项,需要更新为特定格式 val a = Array(a,a,a,b,b,c,d) val b = Array(a1,a2,a3,b1,b2,c,d) 解释 数组中的项可以复制n次 列表中的一项重复了3次 列表中的b项重复了2次 列表中的c&d项目重复0次或无重复 要求 对于每个项目(如果重复),需要按项目添加增量编号 结果 a是初始输入数组 b是预期的输出数组 尝试 向左折叠、折叠和其他选项。它没有产生预期的结果。任何建议都会有帮助Scala提供了许多库函数。就像,有不同的功

问题

数组包含重复项,需要更新为特定格式

val a = Array(a,a,a,b,b,c,d)
val b = Array(a1,a2,a3,b1,b2,c,d)
解释

数组中的项可以复制n次

列表中的一项重复了3次 列表中的b项重复了2次 列表中的c&d项目重复0次或无重复 要求

对于每个项目(如果重复),需要按项目添加增量编号

结果

a是初始输入数组

b是预期的输出数组

尝试


向左折叠、折叠和其他选项。它没有产生预期的结果。任何建议都会有帮助

Scala提供了许多库函数。就像,有不同的功能。你可以直接叫它

scala> val array = Array(1,2,3,2,1,4)
array: Array[Int] = Array(1, 2, 3, 2, 1, 4)
scala> array.distinct
res0: Array[Int] = Array(1, 2, 3, 4)

那些不是数组,那些是列表。不管怎样,给我们看看你试过的代码,而不仅仅是说foldLeft。最后,我建议一个简单的尾部递归解决方案,它携带一个映射[a,Int]作为状态来计算正确的结果duplicate@rakeshjayaram; 也许你应该改变问题的标题。