两个对象数组交集_yiduobo的每日leetcode 349.两个数组的交集 amp;amp; 350.两个数组的交集II...
生活随笔
收集整理的這篇文章主要介紹了
两个对象数组交集_yiduobo的每日leetcode 349.两个数组的交集 amp;amp; 350.两个数组的交集II...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
祖傳的手藝不想丟了,所以按順序寫一個leetcode的題解。計劃每日兩題,爭取不卡題吧
349.兩個數組的交集https://leetcode-cn.com/problems/intersection-of-two-arrays/
350.兩個數組的交集II https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/
都是比較基礎的題目。
349不需要考慮出現的次數,因此使用set統計一下即可。350則需要使用dict來進行統計。
另外,在350中,如果兩個數組已經排好序了,可以使用類似二路歸并的做法來進行統計。
最后附上python代碼:
349:
class Solution(object):def intersection(self, nums1, nums2):""":type nums1: List[int]:type nums2: List[int]:rtype: List[int]"""num_set = set()for num in nums1:num_set.add(num)res = []for num in nums2:if num in num_set:res.append(num)num_set.remove(num)return res350:
class Solution(object):def intersect(self, nums1, nums2):""":type nums1: List[int]:type nums2: List[int]:rtype: List[int]"""num_dict1 = {}for num in nums1:num_dict1[num] = num_dict1.get(num, 0) + 1num_dict2 = {}for num in nums2:num_dict2[num] = num_dict2.get(num, 0) + 1res = []for num, weight in num_dict1.items():if num in num_dict2:res.extend([num] * min(weight, num_dict2[num]))return res總結
以上是生活随笔為你收集整理的两个对象数组交集_yiduobo的每日leetcode 349.两个数组的交集 amp;amp; 350.两个数组的交集II...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言队列作用,队列(C语言)
- 下一篇: java 1m_Java编程测试1M内存