输入第一行为一个数字N,表示数组A和B的长度。输入第2行和3行都是N个数字,分别表示数组A和B的元素
修改B中的一个元素,并打印最大的最佳配对集合数量。注意:必须修改B中的一个元素。
4 1 2 3 4 1 2 3 3
4
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = Integer.valueOf(sc.nextLine());
String[] strs1 = sc.nextLine().split(" ");
String[] strs2 = sc.nextLine().split(" ");
int[] num1 = new int[n];
int[] num2 = new int[n];
for(int i =0;i<n;i++){
num1[i] = Integer.valueOf(strs1[i]);
num2[i] = Integer.valueOf(strs2[i]);
}
int num = 0;
int total = 0;
Map<Integer,Integer> map = new HashMap<>();
for(int i=0;i<n;i++){
for(int j =0;j<n;j++){
if(num1[i]==num2[j] && !map.containsKey(num1[i])){
num++;
map.put(num1[i],1);
}
}
}
for(int i=0;i<n;i++){
if(!map.containsKey(num1[i]) && num<n) {
num++;
}
if(map.containsKey(num1[i])){
total++;
}
}
if(total==n)num--;
System.out.println(num);
}
}
}