Advertisement
Guest User

Untitled

a guest
Mar 28th, 2014
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.65 KB | None | 0 0
  1.  def hasPair(l1: List[Int], l2: List[Int], target: Int): Option[Pair[Int, Int]] = {
  2.     val sortedList = (l1.toVector ++ l2.toVector).sorted
  3.  
  4.     var x = 0
  5.     var y = sortedList.length - 1
  6.    
  7.     while (x < y) {
  8.       if (sortedList(x) + sortedList(y) == target) {
  9.         if ((l1.exists(_ == sortedList(x)) && l2.exists(_ == sortedList(y))) || (l2.exists(_ == sortedList(x)) && l1.exists(_ == sortedList(y))) ) {
  10.         return Some(sortedList(y), sortedList(x))
  11.         }
  12.       } else if (sortedList(x) + sortedList(y) < target) {
  13.         x = x + 1
  14.       } else { // sum too big!
  15.         y = y - 1
  16.       }
  17.     }
  18.    
  19.     return None
  20.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement