Advertisement
yvoderatskiy

Untitled

Jul 27th, 2015
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.63 KB | None | 0 0
  1. import scala.collection.mutable.ArrayBuffer
  2.  
  3. object Main extends App {
  4.   def permutation(s: String): ArrayBuffer[String] = {
  5.   s.toCharArray.toList match {
  6.     case left :: right :: Nil => ArrayBuffer(s"$left$right", s"$right$left")
  7.     case chars =>
  8.       var results = ArrayBuffer.empty[String]
  9.       for (char <- chars){
  10.         results ++= permutation(chars.filterNot(_ == char).mkString).map(r => s"$char$r")
  11.       }
  12.       results
  13.    }
  14.   }
  15.  
  16.   val source = scala.io.Source.fromFile(args(0))
  17.   val lines = source.getLines.filter(_.length > 0)
  18.   for (l <- lines) {
  19.     println(permutation(l).sorted.mkString(","))
  20.   }
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement