Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. private def Seqs(valmis: Array[Int], jämät: Array[Int]): List[Array[Int]] =
  2. if (jämät.length == 0)
  3. List(valmis)
  4. else if (jämät.head > valmis.last)
  5. Seqs(valmis :+ jämät.head, jämät.tail) ++ Seqs(valmis, jämät.tail)
  6. else
  7. Seqs(valmis, jämät.tail)
  8.  
  9.  
  10. def longestIncreasingSubsequence(s: Seq[Int]): Seq[Int] = {
  11. require(s.length > 0)
  12.  
  13. if (s.length < 2) s
  14.  
  15. else {
  16.  
  17. def Seqs(valmis: Array[Int], jämät: Array[Int]): List[Array[Int]] =
  18. if (jämät.length == 0) List(valmis)
  19. else if (jämät.head > valmis.last)
  20. Seqs(valmis :+ jämät.head, jämät.tail) ++ Seqs(valmis, jämät.tail)
  21. else Seqs(valmis, jämät.tail)
  22.  
  23.  
  24. var Seqs1: List[Array[Int]] = List()
  25.  
  26. for ( i <- 0 until s.length) {
  27. val seq2 = s.drop(i).toArray
  28. Seqs1 = Seqs1 ::: Seqs(Array(seq2.head), seq2.tail)
  29. }
  30.  
  31. var pituus = 0
  32. Seqs1.foreach(s => if (s.length > pituus) pituus = s.length)
  33.  
  34. Seqs1.filter(s => s.length == pituus).head
  35.  
  36. }
  37. }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement