正确检查两个HashSets <Integer>是否包含相同的整数

时间:2019-11-26 12:54:26

标签: java counter contains hashset

我有一个问题,我有两个人愿意出售某些物品,但前提是他们有相同的物品。

首先,他们说他们想按订单出售多少个对象。 示例:3 3-表示他们两个都希望出售3件物品,然后在它们的物品上标明编号。如果找到任何匹配项,则计数器递增。最后,终端关闭iff。最后两个整数是两个0。

示例输入:(我已经在两者之间留出了一些间隔,以使整数更清楚地属于哪个)

3 3

1
2
3

1
2
4

0 0

示例输出:

2

另一个示例输入:

5 3

1
2
3
4
5

1
2
3

0 0

“另一个”示例输出:

3

这是我的代码:

import java.util.*;

public class CD {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int testCases = sc.nextInt();
        int testCases1 = sc.nextInt();
        HashSet<Integer> set = new HashSet<Integer>();
        HashSet<Integer> set1 = new HashSet<Integer>();
        for (int i = 0; i < testCases; i++) {
            set.add(sc.nextInt());
        }
        for (int i = 0; i < testCases1; i++) {
            set1.add(sc.nextInt());
        }
        int counter = 0;
        if (set.size() > set1.size() || set.size() == set1.size()) {
            for (Integer x : set1) {
                if (set.contains(x)) {
                    counter++;
                }
            }
        }else{
            for (Integer x : set) {
                if (set1.contains(x)) {
                    counter++;
                }
            }
        }
        int ending = sc.nextInt();
        int ending1 = sc.nextInt();
        if ((ending == 0 && ending1 == 0)) {
            System.out.println(counter);
            sc.close();
        }
    }
}

同样使用示例输入,我的代码也能正常运行,但在其他类型的输入中未将其标记为正确。有什么想法,建议等吗?很想听听。 最好的问候。

编辑:不可能 重复,因为问题明确指出每个人最多只能卖出一个物品。因此,例如,人1不能多次出售对象“ 1”。

第二编辑:我们已收到通知,另一个问题可能有答案the other similar question。但这有些不同。

0 个答案:

没有答案
相关问题