gpt4 book ai didi

algorithm - 斯卡拉 : Sorting list of number based on another list

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:36:50 26 4
gpt4 key购买 nike

我正在 scala 中实现一种算法,其中我有一组节点(整数),每个节点都有一个与之关联的属性,让我们将该属性称为“d”(这也是一个整数)。

我有一个列表[Int],这个列表包含按值“d”降序排列的节点。

我还有一个 Map[Int,Iterable[Int]] ,这里的键是一个节点,值是它所有邻居的列表。

问题是,我如何按照属性“d”的降序存储 Map 中节点的邻居列表。

例子:

List 1 : List[1,5,7,2,4,8,6,3] --> 假设这个列表按某种顺序排序并包含所有数字。

Map : [Int,Iterable][Int]] --> [1 , Iterable[2,3,4,5,6]]

这个可迭代对象可能有也可能没有所有数字。

简单来说,我希望 Iterable 中的数字与列表 1 中的数字顺序相同。

所以我在 Map 中的条目应该是:[1, Iterable[5,2,4,6,3]]

最佳答案

最简单的方法是过滤排序列表。

val list = List(1,5,7,2,4,8,6,3)
val map = Map(1 -> List(2,3,4,5,6),
2 -> List(1,2,7,8))
val map2 = map.mapValues(neighbors => list.filter(neighbors.contains))
println(map2)

关于algorithm - 斯卡拉 : Sorting list of number based on another list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43702295/

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