直接用for循环就好了
并没有发现更优的解决方式
代码如下:
// write your code here
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int m = sc.nextInt();
int n = sc.nextInt();
//男生数组
int[] male = new int[m];
for (int i = 0; i < male.length; i++) {
male[i] = sc.nextInt();
}
//女生数组
int[] female = new int[n];
for (int i = 0; i < female.length; i++) {
female[i] = sc.nextInt();
}
System.out.println(getPartner(male, female));
}
}
//获取最多能匹配的舞伴数
public static int getPartner(int[] male, int[] female) {
Arrays.sort(male);
Arrays.sort(female);
int count = 0;
for (int i = 0; i < male.length; i++) {
for (int j = 0; j < female.length; j++) {
if(male[i]!=-1&&male[i]==female[j]) {
count++;
male[i]=-1;
female[j]=-1;
}
}
}
return count;
}
}