一次性生成自定义图案编号序列

Sky*_*ker 0 arrays algorithm functional-programming scala

我想使用函数初始化构造一次性生成以下数字序列:

Array(0, 0, 0, 0, 3, 3, 6, 6, 9, 9, ..., n*3, n*3)
Run Code Online (Sandbox Code Playgroud)

一种方法是这样做:

Array.fill[Int](2)(0) ++ Array.tabulate(4)(_*3)
Run Code Online (Sandbox Code Playgroud)

但我需要将构造的第二部分的每个值加倍,即得到0, 0然后3, 3等等。如何复制第二个构造的值?

我也想不出能产生这种序列的数学函数。

Dim*_*ima 5

Array(0,0) ++ (0 to 2*n).map(_ / 2 * 3)