我正在嘗試在 Kotlin 中列印串列的所有組合。
我的腳本有一個帶有加密訊息的可變訊息。我想要的是該變數的所有組合(在空間上拆分)。我已經設法在空間上分割它,所以它變成了一個字串串列。
所需輸出的示例:
Y2MPyYU4kblEXrEfExry4AIRAjqdke JyQQN50Uj5GuCu5rE66lEzQXB5bE VOlNGRoU06Ny4vh/gzSPFV0mHUrxaaAVt1BwN1WN1HFT7baIejtR5KyZ7VejtR5KyCiGscfcAkfcfcfcfcfcfcfcfc5gcfcgfcfcgfcgcfcgfcgfcgcfcgcfcgcfcgcwogcgcfcgfcgcwoclugusecpu
Y2MPyYU4kblEXrEfExry4AIRAjqdke JyQQN50Uj5GuCu5rE66lEzQXB5bE JK8yC70CpuPZV610coCiWzdFICcgEtAdQaesScLrg495kxofzG3EGv4yVeVeKyVeKyNgRuA1vRuAtgvhfgvvav1yvgvfgvvav1vgvav1vgvavfgvavfgvavgvgvavfgvavgvfgvavgvgvavgvavgvfg
VOlNGRoU06Ny4vh/gzSPFV0mHUrxaaAVt1BwN1WN1HFT7baIejtR5KyG6 JK8yC70CpuPZV610coCiWzdFICcgEtAdQaesScLrg495kxofzG3EXyJ5rJBQExG2EGyJ5rJ5R5KyG6JK8yC70CpuPZV612
等等..
我的代碼:
// 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/gzSPFV0mHUrxaaAVt1BwN1WN1HFT7baIejtR5K8CyCeGtR50CyCeGtR50CyPyCejtR50CyPyCeGtR50CyPyCiVejtR50CyPyCiGtR5yCyCyPyCiVc
部分 = Y2MPyYU4kblEXrEfExry4AIRAjqdke JyQQN50Uj5GuCu5rE66lEzQXB5bE
零件 = VOlNGRoU06Ny4vh/gzSPFV0mHUrxaaAVt1BwN1WN1HFT7baIejtR5KyG6
零件 = JK8yC70CpuPZV610coCiWzdFICcgEtAdQaesScLrg495kxofzG3EGvA=
uj5u.com熱心網友回復:
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://www.uj5u.com/qianduan/375950.html
標籤:科特林
