我有一个格式对列表(a: A, x: Int)
,并且x
不在列表中重复。现在我知道x
在一定范围内0 until n
,我想做一个大小数组n
,其i
第 th 元素是类型Option[A]
。如果(a, i)
原始列表中有一对,则为Some(a)
,否则为None
。一个简单的例子:
Original List (n = 6):
(a1, 1)
(a2, 2)
(a3, 5)
Desired Output:
(0, None)
(1, Some(a1))
(2, Some(a2))
(3, None)
(4, None)
(5, Some(a3))
当然,我们可以得到一个可变数组,遍历原始列表并填写相应的元素。但是考虑到时间复杂度不应该是超线性的,n
那么 fp 风格的做法是什么?也许这是一个简单的问题,但我就是想不通......希望有人能帮忙。谢谢!