当前位置 : 主页 > 编程语言 > java >

350. 两个数组的交集 II

来源:互联网 收集:自由互联 发布时间:2022-07-04
‘’’ 思路:先用常规方法确定哪些元素是交集,后判断交集元素在nums1和nums2的个数的是不是大于1 如果两个都大于1,那么填入两个数中较小 - 1 个 当前元素 ‘’’ 但是遗憾的是又超

350. 两个数组的交集 II_数组
‘’’
思路:先用常规方法确定哪些元素是交集,后判断交集元素在nums1和nums2的个数的是不是大于1
如果两个都大于1,那么填入两个数中较小 - 1 个 当前元素
‘’’
但是遗憾的是又超时了
改进如下:
‘’‘
思路:考虑到是将集合转成list花费大量时间,所以改成遍历元素种数(通过set)来改善算法,后往结果数组中增加元素。
‘’‘

class Solution:
def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:

res = set(nums1) if len(set(nums1)) > len(set(nums2)) else set(nums2)
lis = []
for i in res:
a,b = nums1.count(i),nums2.count(i)
if a >= 1 and b >= 1:
temp = min(a,b)
for _ in range(temp):
lis.append(i)
return lis


上一篇:Spring Security授权_编写查询权限方法
下一篇:没有了
网友评论