栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Leetcode第 286 场周赛-5268. 找出两数组的不同 ——双百题解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Leetcode第 286 场周赛-5268. 找出两数组的不同 ——双百题解

Leetcode第 286 场周赛-5268. 找出两数组的不同
missingRolls


一、解题思路 1、解法一( Java )

解法思路:模拟 + HashSet去重

HashSet去重

set.remove() 如果指定元素存在于此 set 中,则将其移除。

伪代码如下:

class Solution{
    public List> findDifference(int[] nums1, int[] nums2) {
        List> ans = new ArrayList<>();
        //HashSet去重 set.remove()方法
        Set set1 = new HashSet<>();
        Set set2 = new HashSet<>();
        for (int num : nums1) {
            set1.add(num);
        }

        for (int num : nums2) {
            set2.add(num);
            if (set1.contains(num)) {
                set1.remove(num);
            }
        }

        for (int num : nums1) {
            if (set2.contains(num)) {
                set2.remove(num);
            }
        }

        ans.add(new ArrayList(set1));
        ans.add(new ArrayList(set2));
        return ans;
    }
}
1、解法二( Java )

解法思路:模拟

伪代码如下:

class Solution {
    public List> findDifference(int[] nums1, int[] nums2) {
        List> ans = new ArrayList<>();
        //List用于存放两个数组不同于对方的数据
        List list1 = new ArrayList<>();
        List list2 = new ArrayList<>();
        //Set用于存储两个数组中的完整数据
        Set set1 = new HashSet<>();
        Set set2 = new HashSet<>();
        for (int num : nums1) {
            set1.add(num);
        }

        for (int num : nums2) {
            set2.add(num);
        }

        for (int num : nums1) {
//            if( !set2.contains(num) && !list1.contains(num) ){
//                list1.add(num);
//            }

            if (!set2.contains(num)) {
                list1.add(num);
                if (list1.contains(num)) {
                    list1.remove(num);
                }
            }
        }

        for (int num : nums2) {
            if (!set1.contains(num) && !list2.contains(num)) {
                list2.add(num);
            }
        }
        ans.add(list1);
        ans.add(list2);
        return ans;
    }
}

运行结果截图如下:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/780957.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号