找到字符串的所有排列的优雅方法是什么.是的ba,会是ba和ab,但是怎么样abcdefgh?是否有任何Java实现示例?
给定一个字符串s,生成一组所有唯一子串的最快方法是什么?
示例:因为str = "aba"我们会得到substrs={"a", "b", "ab", "ba", "aba"}.
朴素算法将遍历1..n每个迭代中生成长度的子串的整个字符串,产生O(n^2)上限.
更好的约束可能吗?
(这是技术上的功课,所以也欢迎指针)
我无法弄清楚如何生成值的组合。
鉴于:
const items = ['a', 'b', 'c', 'd', 'e'];
Run Code Online (Sandbox Code Playgroud)
应该生成:
[
['a', 'b', 'c'],
['a', 'b', 'd'],
['a', 'b', 'e'],
['a', 'c', 'd'],
['a', 'c', 'e'],
['a', 'd', 'e'],
['b', 'c', 'd'],
['b', 'c', 'e'],
['c', 'd', 'e']
]
Run Code Online (Sandbox Code Playgroud)
它为数组中的所有项目生成唯一的组合。基本上,每个项目的数组长度是Math.round(items.length / 2)。
任何帮助将不胜感激。