Вход представляет собой спиральную матрицу, и выход должен быть строкой чисел в порядке возрастания.Как сделать код Scala еще более коротким?
def spiral(x: List[List[Int]]): Unit = x match {
case List() =>
println()
case head :: tail =>
print(head.mkString(" ") + " ")
spiral(tail.transpose.reverse)
}
val matrix = List(List(1, 2, 3), List(4, 5, 6), List(7, 8, 9))
spiral(matrix)
Я хочу иметь кратчайшую возможное в Scala, хотя я изо всех сил, чтобы записать его в более короткий путь, чем выше.
У кого-нибудь есть идеи? Спасибо заранее.
Я голосую, чтобы закрыть этот вопрос не по теме, потому что она должна быть на http://codegolf.stackexchange.com/ –
Также 'если (х == Nil) println() else {print (x.head.mkString ("") + ""); spiral (x.tail.transpose.reverse)} 'короче. но, как я сказал выше, это просто codegolfing? –
Действительно. Извините за размещение вне темы, я только начал искать свой путь на сайте. – aaxtract