s-99 [7-12]

Run Settings
LanguageScala
Language Version
Run Command
object p07 { def flatten(list: List[Any]): List[Any] = list flatMap { case ms: List[Any] => flatten(ms) case e => List(e) } //> flatten: (list: List[Any])List[Any] flatten(List(List(1, 1), 2, List(3, List(5, 8)))) //> res0: List[Any] = List(1, 1, 2, 3, 5, 8) flatten(List(List(1, 1), 2, List(3, List(5, 8),List()))) //> res1: List[Any] = List(1, 1, 2, 3, 5, 8) flatten(List(List(2, 1), List(3, List(5, 8,List())))) //> res2: List[Any] = List(2, 1, 3, 5, 8) }
object p08 { def compress(list: List[Symbol]):List[Symbol] = list match{ case x::y::tail => if(x!=y) x::compress(y::tail) else compress(y::tail) case x::Nil => List(x) case Nil => Nil } //> compress: (list: List[Symbol])List[Symbol] compress(List('a, 'a, 'a, 'a, 'b, 'c, 'c, 'a, 'a, 'd, 'e, 'e, 'e, 'e)) //> res0: List[Symbol] = List('a, 'b, 'c, 'a, 'd, 'e) compress(List()) //> res1: List[Symbol] = List() def compress2(list: List[Symbol]):List[Symbol] = list.distinct //> compress2: (list: List[Symbol])List[Symbol] compress2(List('a, 'a, 'a, 'a, 'b, 'c, 'c, 'a, 'a, 'd, 'e, 'e, 'e, 'e)) //> res2: List[Symbol] = List('a, 'b, 'c, 'd, 'e) compress2(List()) //> res3: List[Symbol] = List() }
Editor Settings
Theme
Key bindings
Full width
Lines