문제

여러 배열을 비교하고 해당 배열의 데이터와 일치하는 세트를 생성하는 코드 스 니펫을 작성해야합니다. 배열 A에서만 데이터 세트를 생성하지만 배열 B에서는 배열 B에서만 생성하지만 A에서는 그렇지 않습니다. , C, D, 어떠한 수의 배열을 처리 할 수있다 (즉, 동적으로 루프). 이 코드는 Scala의 익명 기능을 사용해야합니다 (즉, Java와 같이 일반 배열 루핑과는 다릅니다).

도움이 되었습니까?

해결책

나에게 숙제처럼 들린다. 이것을하는 가장 쉬운 방법은 배열 A의 내용을 A에 던지는 것입니다. Set 제거 작업을 사용하십시오. 이것은 될 것입니다 에) 어디 N = sum {| | a |, | b |, | c |, ...}. 다음 솔루션은 임의의 경우 작동합니다 Iterable, 뿐만 아니라 Array:

def compareArrays[A](arrs: List[Iterable[A]]) = arrs match {
  case a :: tail => {
    val set = a.foldLeft(Set[A]()) { _ + _ }
    tail.foldLeft(set) { _ -- _ }
  }

  case Nil => Nil
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top