Menu
Coddy logo textTech

Birleşim ve Kesişim

Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 19 / 56.

İki koleksiyonu içeren üyelik soruları sorduğunuzda kümeler (sets) parlar.

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

union her iki taraftaki tüm öğeleri döndürür:

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

intersection yalnızca her ikisinde de bulunan öğeleri döndürür:

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

Her metot yeni bir Set döndürür. Orijinal kümeler değişmeden kalır. Sonuç üzerindeki yineleme sırası garanti edilmez, yazdırmadan önce sıralayın.

challenge icon

Görev

Kolay

İki satır girdi okuyun. Her biri virgülle ayrılmış tam sayılardan oluşan bir listedir.

Bunları a ve b kümeleri olarak ele alın. İki satır yazdırın:

  1. Artan düzende sıralanmış ve , ile birleştirilmiş kesişim (boş olduğunda boş bir satır)
  2. Artan düzende sıralanmış ve , ile birleştirilmiş birleşim

İlk satırda 1,2,3,4 ve ikinci satırda 3,4,5,6 girdisi için çıktı şöyledir:

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

Kopya kağıdı

Swift'te küme işlemleri:

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

a.union(b)         // {1, 2, 3, 4, 5, 6} - her iki kümedeki elemanlar
a.intersection(b)  // {3, 4} - her iki kümede de bulunan elemanlar

Her iki yöntem de yeni bir Set döndürür; orijinaller değişmez. Yineleme sırası garanti edilmediğinden yazdırmadan önce sıralayın.

Kendin dene

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

// TODO: kesişim sıralanmış birleştirilmiş, birleşim sıralanmış birleştirilmiş
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler