LeetCode简单题之两个数组的交集 II
生活随笔
收集整理的這篇文章主要介紹了
LeetCode简单题之两个数组的交集 II
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
給你兩個(gè)整數(shù)數(shù)組 nums1 和 nums2 ,請你以數(shù)組形式返回兩數(shù)組的交集。返回結(jié)果中每個(gè)元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個(gè)數(shù)組中都出現(xiàn)的次數(shù)一致(如果出現(xiàn)次數(shù)不一致,則考慮取較小值)。可以不考慮輸出結(jié)果的順序。
示例 1:
輸入:nums1 = [1,2,2,1], nums2 = [2,2]
輸出:[2,2]
示例 2:
輸入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
輸出:[4,9]
提示:
1 <= nums1.length, nums2.length <= 1000
0 <= nums1[i], nums2[i] <= 1000
來源:力扣(LeetCode)
解題思路
??可以先建立兩個(gè)數(shù)組的元素頻率表,然后對比兩個(gè)頻率表如果是共同的元素則返回小頻率個(gè)元素。
class Solution:def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:d1={}d2={}temp=[]for i in nums1:d1[i]=d1.get(i,0)+1for i in nums2:d2[i]=d2.get(i,0)+1for i in d1.keys()&d2.keys():if d1[i]<d2[i]:temp.extend([i]*d1[i])else:temp.extend([i]*d2[i])return temp
總結(jié)
以上是生活随笔為你收集整理的LeetCode简单题之两个数组的交集 II的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之递增顺序搜索树
- 下一篇: LeetCode简单题之学生出勤记录 I