题目描述
给出一串正整数数列以及一个正整数C,要求计算所有满足A - B = C的数对的个数(不同位置的数字一样的数对算不同的数对)。
输入格式
输入共两行。
第一行,两个正整数N,C。
第二行,N个正整数,作为要求处理的那串数。
输出格式
一行,表示该串正整数中包含的满足A - B = C的数对的个数。
输入样例
4 1
1 1 2 3
输出样例
3
代码示例
package basic;
import java.util.*;
public class Main {
public static void main(String [] args) {
Map<Integer,Integer>map=new HashMap<>();
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int c=scan.nextInt();
int []arr=new int [n];
for(int i= 0;i<n;i++) {
arr[i]=scan.nextInt();
map.put(arr[i],map.getOrDefault(arr[i], 0)+1);
}
long res=0;
for(int i=0;i<n;i++) {
int b=arr[i]-c;
res+=map.getOrDefault(b, 0);
}
System.out.println(res);
}
}