题目描述:https://leetcode-cn.com/problems/intersection-of-two-arrays/description/
思路:
设置空集result
存储结果,判断nums1
中的数是否在result
和 nums2
中:
#
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
result = []
for i in range(len(nums1)):
if nums1[i] in nums2 and (nums1[i] not in result):
result.append(nums1[i])
return result
还可以利用集合来解决本题。
集合(set)是一个无序不重复元素的序列。
它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
return list(set(nums1) & set(nums2))
set()
将列表nums
拆解为不含重复元素的集合,&取两个集合的交集。取交集得到的是一个集合,所以最后还需要用list()
将其转变为列表