侧边栏壁纸
  • 累计撰写 32 篇文章
  • 累计创建 38 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

2032. 至少在两个数组中出现的值

一杯香梨
2022-12-29 / 0 评论 / 0 点赞 / 108 阅读 / 0 字

给你三个整数数组 nums1、nums2 和 nums3 ,请你构造并返回一个 元素各不相同的 数组,且由 至少 在 两个 数组中出现的所有值组成。数组中的元素可以按 任意 顺序排列。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/two-out-of-three

题解

分析
  1. 暴力破解,两两比较,相同的放入List中

上代码(Java)

class Solution {
    public List<Integer> twoOutOfThree(int[] nums1, int[] nums2, int[] nums3) {
        List<Integer> list1 = Arrays.stream(nums1).boxed().collect(Collectors.toList());
        List<Integer> list2 = Arrays.stream(nums2).boxed().collect(Collectors.toList());
        List<Integer> list3 = Arrays.stream(nums3).boxed().collect(Collectors.toList());

        List<Integer> result = new ArrayList<>();

        for (Integer num : list1) {
            boolean r1 = list2.contains(num);
            boolean r2 = list3.contains(num);
            if (r1 || r2) {
                result.add(num);
            }
        }

        for (Integer num : list2) {
            boolean r1 = list1.contains(num);
            boolean r2 = list3.contains(num);
            if (r1 || r2) {
                result.add(num);
            }
        }

        for (Integer num : list3) {
            boolean r1 = list1.contains(num);
            boolean r2 = list2.contains(num);
            if (r1 || r2) {
                result.add(num);
            }
        }
        
        return result.stream().distinct().collect(Collectors.toList());
    }
}

测试用例通过(288/288)

2032提交记录

0

评论区