LeetCode python-350. 两个数组的交集 II

LeetCode python-350. 两个数组的交集 II

先看题目:
(题目来力扣网站)
LeetCode python-350. 两个数组的交集 II_第1张图片

思路

①将两个数组分别排序
②两个数组同时进行比较,若数值相等则存入arr,若数值不等,则数值较小的值的索引+1,继续比较。

class Solution:
    def intersect(self, nums1, nums2):
        nums1.sort()
        nums2.sort()
        arr = []
        i = j = 0
        while i < len(nums1) and j < len(nums2):
            if nums1[i] == nums2[j]:
                arr.append(nums1[i])
                i += 1
                j += 1
            elif nums1[i] < nums2[j]:
                i += 1
            else:
                j += 1
        return arr

p = Solution()
nums1 = [1,2,2,2,3,3,3,4,5]
nums2 = [1,2,2,3,3,4,5,6]
res = p.intersect(nums1, nums2)
print(res)

在这里插入图片描述
在这里插入图片描述

收获

看题目要求的三个进阶问题。

用 Python 和 字典 解决问题 & Q1~Q3的讨论

你可能感兴趣的:(python)