gpt4 book ai didi

java - 生成字符串按空格的所有组合

转载 作者:行者123 更新时间:2023-12-02 12:00:10 25 4
gpt4 key购买 nike

假设我有一个字符串 A B C D - 我想最终得到一个 List<List<String>>其中将包含以下组合:

[A,B,D,C]
[A,B C D]
[A B, C D]
[A B C, D]
[A, B C, D]
etc...

发现了一堆具有类似请求的已回答问题,其中人们要求基于单个字符串的子字符串的所有组合,但无法根据我的需要进行调整。

非常感谢您的帮助!

最佳答案

你可以尝试用递归的方式来实现。有2根弦,左、右。将最右边的字符移至右侧字符串,重复此操作,直到左侧字符串中只剩下 1 个字符。每次执行此操作时,都将相同的函数应用于正确的字符串。

所以如果你有“ABCD”,那就给你:

"ABCD"
"ABC" f("D")
"AB" f("CD")
"A" f("BCD")

完全消耗你得到:

f("ABCD") {
"ABCD"
"ABC" f("D")
f("D") {
"D"
}
"AB" f("CD")
f("CD") {
"CD"
"C" f("D")
f("D") {
"D"
}
}
"A" f("BCD")
f("BCD") {
"BCD"
"BC" f("D")
f("D") {
"D"
}
"B" f("CD")
f("CD") {
"CD"
"C" f("D")
f("D") {
"D"
}
}
}
}

它给你:

[["ABCD"], 
["ABC", "D"],
["AB", "CD"],
["AB", "C", "D"],
["A", "BCD"],
["A", "BC", "D"],
["A", "B", "CD"],
["A", "B", "C", "D"]]

关于java - 生成字符串按空格的所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47323778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com