list - Scala 划分为两个以上的列表

标签 list scala

我在 Scala 中有一个列表,我试图根据涉及列表多个元素的谓词将其划分为多个列表。例如,如果我有

a: List[String] = List("a", "ab", "b", "abc", "c")

我想得到 b: List[List[String]]这是 List[String] 的列表这样内部长度的总和 List[String] == 3 .即List(List("a", "b", "c"), List("abc"), List("ab", "a"), ...)

[编辑] 需要为长度为 50 或更短的列表花费合理的时间。

最佳答案

对于任意谓词 p,不可能构建比 O(2^n * O(p)) 更便宜的高效算法。这是因为必须评估每个子集。您永远不会实现适用于 n == 50 的东西。

关于list - Scala 划分为两个以上的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26675219/

相关文章:

java - 沿元素将列表拆分为子列表

python - 在列表中查找长度有限的最大值

scala - 如果我有一个 SBT 多项目构建,我怎样才能使 A 的测试依赖项不泄漏到 B 的测试中

scala - 如何在Intellij IDEA中运行Spark示例程序

Scala "update"不可变对象(immutable对象)最佳实践

python - 在Python中同时迭代2个不同的字典

c - 将链表附加到另一个链表的末尾

python - 在列表中只出现一次的单词的索引

scala - 为什么 GraalVM CE 的吞吐量比 GraalVM EE 或 OpenJDK 8 小

mysql - scala - 调用 mysql 存储过程出现错误 : use right near '?)' at line 1