leetcode:找出两数组不同

找出两数组的不同

easy

给你两个下标从 0 开始的整数数组 nums1nums2 ,请你返回一个长度为 2 的列表 answer ,其中:

  • answer[0]nums1 中所有 存在于 nums2 中的 不同 整数组成的列表。
  • answer[1]nums2 中所有 存在于 nums1 中的 不同 整数组成的列表。

**注意:**列表中的整数可以按 任意 顺序返回。

示例 1:

复制代码
输入:nums1 = [1,2,3], nums2 = [2,4,6]
输出:[[1,3],[4,6]]
解释:
对于 nums1 ,nums1[1] = 2 出现在 nums2 中下标 0 处,然而 nums1[0] = 1 和 nums1[2] = 3 没有出现在 nums2 中。因此,answer[0] = [1,3]。
对于 nums2 ,nums2[0] = 2 出现在 nums1 中下标 1 处,然而 nums2[1] = 4 和 nums2[2] = 6 没有出现在 nums2 中。因此,answer[1] = [4,6]。

示例 2:

复制代码
输入:nums1 = [1,2,3,3], nums2 = [1,1,2,2]
输出:[[3],[]]
解释:
对于 nums1 ,nums1[2] 和 nums1[3] 没有出现在 nums2 中。由于 nums1[2] == nums1[3] ,二者的值只需要在 answer[0] 中出现一次,故 answer[0] = [3]。
nums2 中的每个整数都在 nums1 中出现,因此,answer[1] = [] 。 

哈希集合

python 复制代码
class Solution:
    def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:
        nums1 = set(nums1)
        nums2 = set(nums2)
        same_num = nums1 & nums2
        return [list(nums1 - same_num), list(nums2 - same_num)]

递归

python 复制代码
class Solution(object):
    def findDifference(self, nums1, nums2):
        se1, se2 = set(nums1), set(nums2)  # 使用集合去重
        answer = [list(se1 - se2), list(se2 - se1)]
        return answer

字典(效率低)

python 复制代码
class Solution:
    def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:
        dict1 = {}
        dict2 = {}
        for i, n in enumerate(nums1):
            if n not in nums2:
                dict1[n] = i

        for i, n in enumerate(nums2):
            if n not in nums1:
                dict2[n] = i
            
        return [list(dict1.keys()), list(dict2.keys())]
相关推荐
CoderYanger1 小时前
优选算法-栈:67.基本计算器Ⅱ
java·开发语言·算法·leetcode·职场和发展·1024程序员节
jllllyuz1 小时前
Matlab实现基于Matrix Pencil算法实现声源信号角度和时间估计
开发语言·算法·matlab
夏鹏今天学习了吗1 小时前
【LeetCode热题100(72/100)】前 K 个高频元素
leetcode
稚辉君.MCA_P8_Java1 小时前
DeepSeek 插入排序
linux·后端·算法·架构·排序算法
多多*1 小时前
Java复习 操作系统原理 计算机网络相关 2025年11月23日
java·开发语言·网络·算法·spring·microsoft·maven
덕화2 小时前
【面试宝典】线上问题逆向分析1
面试·职场和发展
美团程序员2 小时前
一篇文章教你搞定:”xx 功能如何测试?“常见面试题型!
测试工具·面试·职场和发展·测试用例
.YM.Z3 小时前
【数据结构】:排序(一)
数据结构·算法·排序算法
Chat_zhanggong3453 小时前
K4A8G165WC-BITD产品推荐
人工智能·嵌入式硬件·算法
百***48073 小时前
【Golang】slice切片
开发语言·算法·golang