Leetcode with Python -> Sort
2024-09-04 16:28:54
349. Intersection of Two Arrays
Given two arrays, write a function to compute their intersection.
Example:
Given nums1 = [1, 2, 2, 1]
, nums2 = [2, 2]
, return [2]
.
Note:
- Each element in the result must be unique.
- The result can be in any order.
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
return list(set(nums1)&set(nums2))
# for two set, set1&set2 makes a new set containing the intersection of these two sets,likewise, | makes the union set, and ^ makes the union set with the exception of the intersection elements
# this solution is clear but not fast
350. Intersection of Two Arrays II
Given two arrays, write a function to compute their intersection.
Example:
Given nums1 = [1, 2, 2, 1]
, nums2 = [2, 2]
, return [2, 2]
.
Note:
- Each element in the result should appear as many times as it shows in both arrays.
- The result can be in any order.
Follow up:
- What if the given array is already sorted? How would you optimize your algorithm?
- What if nums1's size is small compared to nums2's size? Which algorithm is better?
- What if elements of nums2 are stored on disk, and the memory is limited such that you cannot load all elements into the memory at once?
class Solution(object):
def intersect(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
from collections import Counter
c1=Counter(nums1)
c2=Counter(nums2)
return sum([[num]*min(c1[num],c2[num]) for num in c1&c2],[]) # sum([[1,2],[3,4]],[]) makes [1,2,3,4], why???
# Counter(some_list) makes a diction, whose key is the elements of the list and the value is the time it appears in the list
# for two counter, c1&c2 makes the intersection of their keys and the value is always 1
最新文章
- iOS中的单例
- mybatis sql in 查询
- MSDN资料
- 10 程序员必备:Linux日常维护命令
- 【uva1502/hdu4117-GRE Words】DP+线段树优化+AC自动机
- HDU 5620 KK's Steel (斐波那契序列)
- POJ 3280 Cheapest Palindrome 简单DP
- ref与out之间的区别整理 摘自与望楼http://blog.csdn.net/xiaoning8201/article/details/6893154
- ajax遇到的问题
- PLSQL 注册码
- JAVA对象克隆
- [python] 3 、基于串口通信的嵌入式设备上位机自动测试程序框架(简陋框架)
- 从 0 → 1,学习Linux该这么开始!
- Docker 创建容器 查看容器状态 - 三
- hihocoder1696 折线中点(几何)
- mysql,Jdbc工具类,只需一条sql实现简单查询
- Python: 字典dict: zip()
- 修改windows远程默认端口
- 实习培训——Servlet(5)
- css动画笔记