我正试图在科特林打印一个列表的所有组合。
我的脚本有一条带有加密消息的可变消息。我想要的是这个变量的所有组合(在空间上分裂)。我已经在空间上把它分开了,所以它变成了一个字符串列表。
期望输出的示例:
等等。
我的代码:
// Input data
var message: String = "Y2MPyYU4kblEXrEfExry4AIRAjqdke+JyQQN50Uj5GuCu5rE66lEzQXB5bE VOlNGRoU06Ny4vh/gzSPFV0mHUrxaaAVt1BwN1WN1HFT7baIejtR5KyG6 JK8yC70CpuPZV610coCiWzdFICcgEtAdQaesScLrg495kxofzG3EGvA="
// Info Message
var messageLength = message.length
println("Message = $message\n")
// Info parts
var messageSplitOnSpace = message.split(" ")
for (part in messageSplitOnSpace) {
var partLength = part.length
println("Part = $part\n")
}
// Print all combinations
var mixSize: Int = messageSplitOnSpace.size*messageSplitOnSpace.size;
for (part in messageSplitOnSpace) {
}输出:
Y2MPyYU4kblEXrEfExry4AIRAjqdke+JyQQN50Uj5GuCu5rE66lEzQXB5bE VOlNGRoU06Ny4vh/gzSPFV0mHUrxaaAVt1BwN1WN1HFT7baIejtR5KyG6 JK8yC70CpuPZV610coCiWzdFICcgEtAdQaesScLrg495kxofzG3EGvA=消息=
消息
Part = Y2MPyYU4kblEXrEfExry4AIRAjqdke+JyQQN50Uj5GuCu5rE66lEzQXB5bE
Part = VOlNGRoU06Ny4vh/gzSPFV0mHUrxaaAVt1BwN1WN1HFT7baIejtR5KyG6
Part = JK8yC70CpuPZV610coCiWzdFICcgEtAdQaesScLrg495kxofzG3EGvA=
发布于 2021-12-07 21:51:12
var message: String = "Y2MPyYU4kblEXrEfExry4AIRAjqdke+JyQQN50Uj5GuCu5rE66lEzQXB5bE VOlNGRoU06Ny4vh/gzSPFV0mHUrxaaAVt1BwN1WN1HFT7baIejtR5KyG6 JK8yC70CpuPZV610coCiWzdFICcgEtAdQaesScLrg495kxofzG3EGvA="
var items = message.split(" ")
val result = items
.flatMap { i1 ->
items.flatMap { i2 ->
items.mapNotNull { i3 ->
val combination = listOf(i1, i2, i3).distinct()
if (combination.count() == 3) combination else null
}
}
}
.mapIndexed { index, it -> "" + (index + 1) + ". " + it[0] + "\n " + it[1] + "\n " + it[2] }
for (item in result) {
println(item + "\n")
}https://stackoverflow.com/questions/70266975
复制相似问题