原题地址(简单)
方法1—哈希表加速查找
思路
这道题蛮简单的,直接用官方题解思路就好了。
核心就是这个公式,然后遍历A中每一个数x,查看B中是否有相对应的y
可用哈希表加速查看。
代码
class Solution:
def fairCandySwap(self, A: List[int], B: List[int]) -> List[int]:
diff = (sum(A) - sum(B)) // 2
B = set(B)
for num in A:
if num - diff in B:
return [num, num - diff]
return []
时空复杂度
时间O(m+n) 空间O(n),n是B的大小