Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def perm[T](lst:List[T]):List[List[T]] = {
- if(lst.length < 2) {
- return List(lst);
- }
- var nl:List[List[T]] = List();
- lst.foreach(x => {
- val tuple = lst.partition(y => x == y);
- perm(tuple._2).foreach(subperm => nl = (subperm ++ tuple._1) :: nl);
- });
- return nl;
- }
- val foo = List(1,2,3);
- val bar = List(1,2,3,4);
- val baz = List("a", "b", "c");
- println(perm(foo));
- println(perm(bar));
- println(perm(baz));
- // Aufgabe 2.1
- def explode(in:List[String]):List[Char] = {
- var retVal:List[Char] = List();
- in.foreach(str => str.foreach(char => retVal = retVal :+ char));
- return retVal;
- }
- def easyExplode(in:List[String]) = in.flatten
Add Comment
Please, Sign In to add comment