Как проверить document.querySelector () и focus ()

Вот одна реализация, которая ленивно перечисляет перестановки:

def insertions[X](xs: List[X], y: X): Iterable[List[X]] = {
  val n = xs.size
  for (i <- 0 to n) yield {
    val (a, b) = xs.splitAt(i)
    a ++ (y :: b)
  }
}

def permutations[X](elems: List[X]): Stream[List[X]] = elems match {
  case Nil => Stream(Nil)
  case h :: t => permutations(t).flatMap(insertions(_, h))
}

Например,

permutations((0 to 10).toList) foreach println

будет печатать все элементы Stream.

0
задан user3142695 19 January 2019 в 07:56
поделиться