Menu
Coddy logo textTech

Suma i część wspólna

Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 19 z 56.

Zbiory przydają się, gdy zadajesz pytania o przynależność elementów do dwóch kolekcji.

let a: Set = [1, 2, 3, 4]
let b: Set = [3, 4, 5, 6]

union zwraca każdy element z obu zbiorów:

a.union(b)              // {1, 2, 3, 4, 5, 6}

intersection zwraca tylko elementy, które występują w obu zbiorach:

a.intersection(b)       // {3, 4}

Każda metoda zwraca nowy Set. Oryginalne zbiory pozostają niezmienione. Kolejność iteracji po wyniku nie jest gwarantowana, posortuj go przed wyświetleniem.

challenge icon

Wyzwanie

Łatwy

Wczytaj dwa wiersze danych wejściowych. Każdy zawiera listę liczb całkowitych rozdzielonych przecinkami.

Potraktuj je jako zbiory a i b. Wypisz dwa wiersze:

  1. Część wspólną, posortowaną rosnąco i połączoną za pomocą , (lub pusty wiersz, jeśli jest pusta)
  2. Sumę, posortowaną rosnąco i połączoną za pomocą ,

Dla danych wejściowych 1,2,3,4 w pierwszym wierszu i 3,4,5,6 w drugim wynikiem jest:

3,4
1,2,3,4,5,6

Spróbuj swoich sił

let a = Set(readLine()!.components(separatedBy: ",").map { Int($0)! })
let b = Set(readLine()!.components(separatedBy: ",").map { Int($0)! })

// TODO: przecięcie posortowane i połączone, suma zbiorów posortowana i połączona
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Edytor online Swift