我必须实现一种数组或序列或列表,它支持循环转发和回绕元素的最便宜的方式。请参阅此示例:
Original sequence: 1 2 3 4 5
Forwarded once: 5 1 2 3 4
Forwarded twice: 4 5 1 2 3
相同的,但相反的是后绕线。实现这一点的最便宜和最Scala风格的方式是什么?在Java中,我可以使用LinkedList,它会做得很好……然而,对于Scala,我找不到任何明确的答案。
此外,它还必须易于用索引替换任何给定的元素,就像在LinkedList中一样。
更新:
关于最快的,但不是那么地道的算法变体(你知道什么时候需要它),请参考Petr Pudlák的答案!
https://stackoverflow.com/questions/8876769
复制相似问题