【发布时间】:2011-11-15 13:29:54
【问题描述】:
给定一组大小为 L 的集合,并希望生成大小为 k 的每个排序子集。 如果您的解决方案在 scala 中会很棒,但也许我可以自己翻译。
运行 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
我的 scala 尝试是这样的:
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 方法。
标签: function scala permutation sorted