比如: A = 1 3 4 5 7, B = 2 3 5 8 9, 那么交集就是 3 5.
成都创新互联是一家专业提供东胜企业网站建设,专注与成都网站建设、做网站、H5建站、小程序制作等业务。10年已为东胜众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
思路:
1. 每一次从B数组中取一值,然后在A数组里逐个比较,如果有相等的,则保存。该算法复杂度为 O(MN). M, N 分别为数组 A B 的长度。
首先,如果是数学上的集合概念,那就说明,集合A自身的每个元素都不相同。
那么,程序就可以简化成,
设数组key[52],用于记录字母出现次数。
扫描一次集合A,把出现的字母计到key的对应位置里。
同理扫描一次集合B。
查看key数组,=2的对应字母输出到集合C,C就是所求交集。
定义两个数组存放这两个集合,再定义一个数组存放它们的集合,用类似冒泡排序的算法,遍历数组1中的第一个元素和数组2中每一个元素,若有相同的,则把这个元素放入第三个数组,继续遍历,知道数组1遍历完所有元素,那数组3中的元素,即为两个数组(集合)的交集。