我給定了一組大小爲L並希望生成大小爲k的每個排序子集。 如果你的解決方案是scala,但是我可以自己翻譯,那會很好。Scala函數獲取大小爲k的所有排序子集
運行L = 6和k = 3的示例應該會產生。
1,2,3
1,2,4
1,2,5
1,2,6
1,3,4
1,3,5
1,3 6
1,4,5
1,4,6
1,5,6
2,3,4
2,3,5
2,3,6
2,4,5
2,4,6
2,5,6
3,4,5
3,4,6
3,5,6
4,5,6
我的斯卡拉嘗試是這樣的:
object Util {
def main(args : Array[String]) : Unit = {
starts(6,3,1)
}
def starts(L: Int, num: Int, level: Int) : List[List[Int]] = {
if(num == 0) {
return List()
}else{
(level to (L-num+1)).map(o => o :: starts(L,num-1,level+1))
}
}
}
我希望你能幫助我。
我希望你能幫助自己,因爲我不知道你想要什麼,這聽起來像作業 –
這不是作業。我只想爲這個問題學習一個scala方法。 – peri4n