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;
    }
};
相关推荐
八月的雨季 最後的冰吻2 分钟前
C++ 面试要点笔记(续)
c++·笔记·面试
Purple Coder16 分钟前
南京-我来啦
算法
w_zero_one22 分钟前
动态规划(三)
java·算法·动态规划
Logic10134 分钟前
C语言/数据结构贡献法题解:数组权值——所有连续子数组中不同数字个数之和(O(n)解法)
c语言·数据结构·算法·数组·时间复杂度·贡献法·哈希记录
DongQiShanRen34 分钟前
六根硬件映射(中):双站校验、生克闭环与驱动接口
数据库·人工智能·算法·rust·哈希算法·集成学习
mmmmath_31 小时前
LeetCode.637.二叉树的层平均值
算法·leetcode
青少儿编程课堂1 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会C/C++考级:并查集连通块与朋友圈问题解析
c++·python·算法·bfs·信息学竞赛
wyhwust1 小时前
codeblocks程序调试
c++
Tisfy1 小时前
LeetCode 2913.子数组不同元素数目的平方和 I:第一题先常数很大的O(n^2)
算法·leetcode·题解·模拟·暴力
罗湖老棍子1 小时前
[USACO05NOV] Asteroids G(洛谷-P7368)
算法·图论·二分图匹配·最大匹配·最小顶点覆盖