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.
Wyzwanie
ŁatwyWczytaj dwa wiersze danych wejściowych. Każdy zawiera listę liczb całkowitych rozdzielonych przecinkami.
Potraktuj je jako zbiory a i b. Wypisz dwa wiersze:
- Część wspólną, posortowaną rosnąco i połączoną za pomocą
,(lub pusty wiersz, jeśli jest pusta) - 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,6Spró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
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
1Dogłębnie o ciągach znaków
Liczba i indeksyWielkość liter i usuwanie białych znakówWyszukiwanie w ciągach znakówDzielenie i łączenieZastępowanie podciągówPodsumowanie — sprawdzanie nazwy użytkownika4Zbiory
Tworzenie zbiorówSuma i część wspólnaRóżnica i różnica symetrycznaPodzbiór i nadzbiórPowtórka — filtr tagów7Projekt – Śledzenie nawyków
Przegląd projektuOznacz jako wykonane10Projekt — silnik quizów
Przegląd projektuZadawanie pytań2Zakresy i kroki
Zakresy domknięte i półotwarteKrokMetody zakresówZakresy w instrukcji switchPowtórka — siatka kalendarza5Funkcje wyższego rzędu, część 1
MapFilterReduceŁączenie map, filter i reducePodsumowanie – statystyki słówPoćwicz samodzielnie: Edytor online Swift