问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。 输出格式 输出一个整数,表示值正好相差1的数对的个数。 样例输入 6 10 2 6 3 7 8 样例输出 3 样例说明 值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。 评测用例规模与约定 1<=n<=1000,给定的整数为不超过10000的非负整数。 |
解析:这道题目实质上就是找差值,并且对其计数。和之前的最大差值异曲同工
import java.util.Scanner;
public class demo1409_1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int arr[]=new int[n];
int count=0;
for(int i=0;i<arr.length;i++) {
arr[i]=sc.nextInt();
}
for(int i=0;i<arr.length-1;i++) {
for(int j=i+1;j<arr.length;j++) {
int temp=0;
temp=Math.abs(arr[i]-arr[j]);
if(temp==1) {
count=count+1;
}
}
}
System.out.println(count);
}
}