一、集合是什么?与它相关数学概念有哪些?
集合的定义。
集合(Set)是由一组无序且唯一(就是不重复)的项组成。
与集合相关的数学概念。
空集:有一类特殊的集合,它不包含任何元素
交集:由属于A集合且属于B集合的相同元素组成的集合
子集:A集合包含了B集合所有元素
补集:由属于A集合且不属于B集合的元素组成的集合
二、请实现一个集合,并实现以下方法:
- add(value):向集合添加一个新的项。
- delete(value):从集合移除一个值。
- has(value):如果值在集合中,返回 true,否则返回 false。
- clear():移除集合中的所有项。
- size():返回集合所包含元素的数量。与数组的 length 属性类似。
- values():返回一个包含集合中所有值的数组。
1 | class MySet { |
三、请实现集合的并集、交集、差集、子集操作
1.并集(union):对于给定的两个集合,返回一个包含两个集合中所有元素的新集合。
1 | function union(setA, setB) { |
2.交集(intersection):对于给定的两个集合,返回一个包含两个集合中共用元素的新集合。
1 | function intersection(setA, setB) { |
3.差集(difference):对于给定的两个集合,返回一个包含所有存在于第一个集合且不存在于第二个集合的元素的新集合。
1 | function diffrence(setA, setB) { |
4.子集(subset):验证一个给定集合是否是另一个集合的子集。
1 | function subset(setA, setB) { |
四、给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集。
示例:
1 | const nums = [1, 2, 3]; |
1 | function subsets(nums) { |