1. 程式人生 > >leetcode350:兩個陣列的交集Ⅱ

leetcode350:兩個陣列的交集Ⅱ

思想:

1.定義變數ans存放重複的元素,然後分別對nums1和nums2排序

2.開始while迴圈,i和j都是從0開始。若nums1[i]<nums2[j] i+1,若nums1>nums2 j+1,若nums1=nums2 將元素放入ans並i和j同時加1

class Solution(object):
    def intersect(self, nums1, nums2):
        """
        :type nums1: List[int]
        :type nums2: List[int]
        :rtype: List[int]
        """
        ans = []
        nums1.sort()
        nums2.sort()
        i = j = 0
        while i < len(nums1) and j < len(nums2):
            if nums1[i] < nums2[j]:
                i += 1
            elif nums1[i] > nums2[j]:
                j += 1
            else:
                ans.append(nums1[i])
                i += 1
                j += 1
            
        return ans