LeetCode75——Day20

文章目录

一、题目

2215. Find the Difference of Two Arrays

Given two 0-indexed integer arrays nums1 and nums2, return a list answer of size 2 where:

answer0 is a list of all distinct integers in nums1 which are not present in nums2.

answer1 is a list of all distinct integers in nums2 which are not present in nums1.

Note that the integers in the lists may be returned in any order.

Example 1:

Input: nums1 = 1,2,3, nums2 = 2,4,6

Output: \[1,3,4,6]

Explanation:

For nums1, nums11 = 2 is present at index 0 of nums2, whereas nums10 = 1 and nums12 = 3 are not present in nums2. Therefore, answer0 = 1,3.

For nums2, nums20 = 2 is present at index 1 of nums1, whereas nums21 = 4 and nums22 = 6 are not present in nums2. Therefore, answer1 = 4,6.

Example 2:

Input: nums1 = 1,2,3,3, nums2 = 1,1,2,2

Output: \[3,\[\]]

Explanation:

For nums1, nums12 and nums13 are not present in nums2. Since nums12 == nums13, their value is only included once and answer0 = 3.

Every integer in nums2 is present in nums1. Therefore, answer1 = \[\].

Constraints:

1 <= nums1.length, nums2.length <= 1000

-1000 <= nums1i, nums2i <= 1000

二、题解

cpp 复制代码
class Solution {
public:
    vector<vector<int>> findDifference(vector<int>& nums1, vector<int>& nums2) {
        int n1 = nums1.size();
        int n2 = nums2.size();
        vector<int> res1;
        vector<int> res2;
        unordered_map<int,int> map1;
        unordered_map<int,int> map2;
        for(int i = 0;i < n1;i++) map1[nums1[i]]++;
        for(int i = 0;i < n2;i++) map2[nums2[i]]++;
        for(int i = 0;i < n1;i++){
            if(map2[nums1[i]] == 0){
                res1.push_back(nums1[i]);
                map2[nums1[i]]++;
            }
        }
        for(int i = 0;i < n2;i++){
            if(map1[nums2[i]] == 0){
                res2.push_back(nums2[i]);
                map1[nums2[i]]++;
            }
        }
        vector<vector<int>> res;
        res.push_back(res1);
        res.push_back(res2);
        return res;
    }
};
相关推荐
zmzb01032 小时前
C++课后习题训练记录Day176
开发语言·c++
王维同学2 小时前
跨位数进程的映像、命令行与环境块读取
c++·windows·安全
Rabitebla2 小时前
C++ STL 之 set 详解:从底层红黑树到实际应用
开发语言·数据结构·c++·算法·leetcode
520拼好饭被践踏2 小时前
JAVA+Agent学习day26
java·开发语言·数据结构·学习·agent
liulilittle2 小时前
无锁多生产者多消费者队列的工程实现剖析——算法、内存模型与性能
算法·多线程·并发·无锁·mpmc·lock-free
郝学胜-神的一滴2 小时前
力扣 692:巧用小顶堆高效求解前K个高频单词
java·数据结构·python·程序人生·算法·leetcode·职场和发展
科学实验家2 小时前
贪心算法:分饼干
算法·贪心算法
誰能久伴不乏3 小时前
深入解析 C++ STL 底层原理:从设计哲学到内存收割机
c++·架构·stl
额,不知道写啥。3 小时前
题解:P16710 愿望
数据结构·算法
jinyishu_3 小时前
C++继承与多态进阶
开发语言·c++·程序人生