今天我尝试使用scala创建后缀数组.我能够用大量代码完成它但后来我听说可以通过使用压缩和排序仅使用几行来创建它.
我现在遇到的问题是从一开始.我尝试使用二进制搜索和zipWithIndex创建以下"树",但到目前为止我还没有能够创建任何东西.我甚至不知道是否有可能只使用一条线,但我打赌它是大声笑.
我想做的是从一个词"芝士蛋糕"得到一个Seq:
Seq((cheesecake, 0),
(heesecake, 1),
(eesecake, 2),
(esecake, 3),
(secake, 4),
(ecake, 5),
(cake, 6),
(ake, 7),
(ke, 8),
(e, 9))
Run Code Online (Sandbox Code Playgroud)
有人会把我推到正确的道路上吗?
我遇到了一个问题,我需要在中间添加一个新值Array(即复制原始数组并将其替换为新数组).我成功地解决了我的问题,但我想知道是否还有其他方法可以做到这一点,而无需将数组更改为缓冲一段时间.
val original = Array(0, 1, 3, 4)
val parts = original.splitAt(2)
val modified = parts._1 ++ (2 +: parts._2)
res0: Array[Int] = Array(0, 1, 2, 3, 4)
Run Code Online (Sandbox Code Playgroud)
我不喜欢我的解决方案是parts变量; 我不想使用那样的中间步骤.这是添加值的最简单方法还是有更好的方法来添加元素?