并集与交集
本课属于 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。原集合保持不变。结果的迭代顺序不确定,打印前请先排序。
挑战
简单读取两行输入,每行都是一个由逗号分隔的整数列表。
将它们视为集合 a 和 b。输出两行:
- 按升序排列并用
,连接的交集(如果为空,则输出空行) - 按升序排列并用
,连接的并集
如果第一行输入为 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:将交集排序后拼接,将并集排序后拼接
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Swift 在线编辑器