Menu
CoddyTech

并集与交集

本课属于 Coddy Swift 学习旅程的“逻辑与流程”单元。第 19 课,共 56 课。

当你询问两个集合中元素是否存在的问题时,集合就能发挥作用。

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

union 会返回两侧的所有元素:

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

intersection 只返回同时出现在两者中的元素:

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

每个方法都会返回一个新的 Set。原集合保持不变。结果的迭代顺序不确定,打印前请先排序。

challenge icon

挑战

简单

读取两行输入,每行都是一个由逗号分隔的整数列表。

将它们视为集合 a 和 b。输出两行:

  1. 按升序排列并用 , 连接的交集(如果为空,则输出空行)
  2. 按升序排列并用 , 连接的并集

如果第一行输入为 1,2,3,4,第二行输入为 3,4,5,6,则输出为:

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

亲手试试

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

// TODO:将交集排序后拼接,将并集排序后拼接
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Swift 在线编辑器