Java 在2整数数组中计算唯一对的数量相差1
舞伴 德里公立学校正在举办一场国际象棋比赛,以庆祝建校30周年。N个男孩和M个女孩注册了。学校管理层必须结对(因为国际象棋是两个人的游戏) 一对必须有一男一女。然而,每对棋手的棋艺差异不得超过一。 对于每个男孩,我们都知道他的棋艺。同样,对于每个女孩,我们都知道她的棋艺 作为管理委员会的成员,你必须确定N个男孩和M个女孩可能形成的最大对数 输入: 第一行包含T-表示测试用例的数量。 对于T中的每个测试用例Java 在2整数数组中计算唯一对的数量相差1,java,Java,舞伴 德里公立学校正在举办一场国际象棋比赛,以庆祝建校30周年。N个男孩和M个女孩注册了。学校管理层必须结对(因为国际象棋是两个人的游戏) 一对必须有一男一女。然而,每对棋手的棋艺差异不得超过一。 对于每个男孩,我们都知道他的棋艺。同样,对于每个女孩,我们都知道她的棋艺 作为管理委员会的成员,你必须确定N个男孩和M个女孩可能形成的最大对数 输入: 第一行包含T-表示测试用例的数量。 对于T中的每个测试用例 The first line contains a single integer N, d
The first line contains a single integer N, denoting the number of boys.
The second line contains N space-separated integers denoting skills of N boys.
The third line contains a single integer M, denoting the number of girls.
The fourth line contains M space-separated integers denoting skills of M girls.
输出:
在新行中输出可以形成的最大对数,其中男孩和女孩的每对技能最多相差1
限制条件:
1<=N<=1e5
1<=M<=1e5
0<=1e9<=skills.
样本输出:
3
1
说明:
在第一个测试案例中,第一个男孩可以与第一个女孩配对(技能差异=1),第二个男孩与第二个女孩配对(技能差异=1),第三个男孩与第三个女孩配对(技能差异=1)。
我们可以看到,每一对伴侣在技能上最多有一个差异。
在第二个测试用例中,只有第三个男孩和第一个女孩可以配对(技能差异=1),对于每一对,差异将大于1
样本输入:
2
3
1 2 3
3
2 3 4
4
2 3 4 5
3
6 7 8
2
3
3 6 7
4
7 5 7 10
3
2 9 1
5
2 7 2 7 11
输出:
2
2
我的解决方案,但它只传递了4个测试用例中的2个,我没有其他测试用例输入,所以你们能告诉我哪里会出错,这只需要在java中完成吗
//import java.io.BufferedReader;
//import java.io.IOException;
//import java.io.InputStreamReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
class Main {
public static void main(String[] arrgs) throws IOException {
Scanner obj = new Scanner(System.in);
// BufferedReader bi = new BufferedReader(new InputStreamReader(System.in));
// String[] strNumsBoys ;
// String[] strNumsGirls ;
ArrayList<Integer> all = new ArrayList<>();
int t = obj.nextInt();
while (t != 0) {
int count = 0;
int numberOfBoys = obj.nextInt();
// strNumsBoys = bi.readLine().split("\\s");
// for (int i = 0; i < strNumsBoys.length; i++) {
// boysSkills[i] = Integer.parseInt(strNumsBoys[i]);
// }
// strNumsBoys = obj.nextLine().split("\\s");
// for (int i = 0; i < numberOfBoys; i++) {
// boysSkills[i] = Integer.parseInt(strNumsBoys[i]);
// }
int[] boysSkills = new int[numberOfBoys];
for(int i=0;i<numberOfBoys;i++)
{
boysSkills[i] = obj.nextInt();
}
int numberOfGirls = obj.nextInt();
// strNumsGirls = bi.readLine().split("\\s");
// for (int i = 0; i < strNumsGirls.length; i++) {
// girlsSkills[i] = Integer.parseInt(strNumsGirls[i]);
// }
// strNumsGirls = obj.nextLine().split("\\s");
// for (int i = 0; i < numberOfGirls; i++) {
// girlsSkills[i] = Integer.parseInt(strNumsGirls[i]);
// }
int[] girlsSkills = new int[numberOfGirls];
for(int i=0;i<numberOfGirls;i++)
{
girlsSkills[i] = obj.nextInt();
}
for (int i = 0; i < numberOfBoys; i++) {
int incresed = boysSkills[i];
incresed = incresed + 1;
for (int k = 0; k < numberOfGirls; k++) {
if (incresed == girlsSkills[k]) {
count = count + 1;
}
}
}
int out = count;
all.add(out);
t = t - 1;
}
all.forEach(System.out::println);
}
}
//导入java.io.BufferedReader;
//导入java.io.IOException;
//导入java.io.InputStreamReader;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.Scanner;
班长{
公共静态void main(字符串[]arrgs)引发IOException{
扫描器obj=新扫描器(System.in);
//BufferedReader bi=新的BufferedReader(新的InputStreamReader(System.in));
//字符串[]strNumsBoys;
//字符串[]strNumsGirls;
ArrayList all=新的ArrayList();
int t=obj.nextInt();
while(t!=0){
整数计数=0;
int numberOfBoys=obj.nextInt();
//strNumsBoys=bi.readLine().split(“\\s”);
//对于(int i=0;i 对于(int i=0;i您没有服用这两种药物:
当男孩技能[i]==女孩技能[i]时,因为差值几乎为1
一个减少的变量,因为差异被询问,它可以是正的,也可以是负的