我正在寻找与 subsequences
等效的内容Scala 中的函数。我在 scala.collection.Seq 中找不到它,也许它是在其他地方定义的。但在哪里呢?
我认为这个问题是众所周知的。例如,给定序列 "abc"
,所有子序列的列表为 ["","a","b","ab","c","ac",“bc”,“abc”]
。
Scala 中快速而肮脏的实现如下:
(for {ys <- xs.inits.toList; zs <- ys.tails} yield zs).distinct
但是使用已经定义的东西会很好,而且效率更高。
最佳答案
您可以使用组合
:
(0 to xs.length).toIterator.flatMap(i => xs.combinations(i))
关于scala - 获取所有子序列的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39724435/