Мне дан набор размера 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))
}
}
}
Я надеюсь, вы можете помочь мне.