2016-02-12 25 views
-4

我想要写功能版本用于求出一对具有给定sum.the元素是命令性代码:功能码到低于一个必须在阶

object ArrayUtil{ 

    def findPairs(arr:Array[Int],sum:Int) ={ 
    val MAX = 50 
    val binmap:Array[Boolean] = new Array[Boolean](MAX) 

    for(i <- 0 until arr.length){ 

     val temp:Int = sum-arr(i); 
     if (temp>=0 && binmap(temp)) 
      { 
      println("Pair with given sum " + sum + " is (" + arr(i) +", "+temp+")"); 
      } 
     binmap(arr(i)) = true; 
     } 
    } 
} 

回答

4

研究的Standard Library

def findPairs(arr:Array[Int],sum:Int): List[Array[Int]] = 
    arr.combinations(2).filter(_.sum == sum).toList 
相关问题