输入样例:
第一行二个整数,表示待存储的元素个数N,拟存储的散列表长度(散列函数模除的数也是它),第二行是N个以空格分隔的整数。
9 11
47 7 29 11 16 92 22 8 3
输出样例:
分别在两行中输出查找成功时平均查找长度和查找失败时的平均查找长度。
注意,请表达成总查找长度除以总查找次数的未约分形式(如:查找成功有10次,总共查找了30次,成功的平均查找长度为:30/10)。
12/9
20/11
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number = input.nextInt();
int go = input.nextInt();
int[] arr = new int[go];
for (int i = 0; i < number; i++) {
int temp = input.nextInt();
arr[temp%go]++;
}
int num1 = 0 ,num2 = 0;
for (int i = 0; i < go; i++) {
int len = arr[i];
num1 += len*(len+1)/2;
num2 += len + 1;
}
System.out.println(num1+"/"+number);
System.out.println(num2+"/"+go);
}
}