返回题目列表
COMP2521
哈希表 · 各桶的链长
哈希表 · 统计每个桶里有几个元素
给定桶数 B,用哈希函数 hash(key) = key % B(key 非负)把 n 个 key 依次放进桶里(链地址法)。输出每个桶最终的链长(桶 0 到桶 B−1)。
请补全:对每个 key 算出桶号 key % B,把对应桶的计数 +1。
易错点(正是错误实验室里的坑):① 一定要% B把 key 压进[0, B),别直接拿 key 当下标(会越界)。② 桶号是key % B,不是别的。
输入
- 第 1 行:
B n(桶数、key 个数)。 - 第 2 行:
n个非负整数 key(n为 0 时该行为空)。
输出
- 一行:
B个数,分别是桶 0…B−1 的链长,每个后跟一个空格。
示例:输入 7 6 / 8 15 22 5 3 17 → 输出 0 3 0 2 0 1 0(8、15、22 都 %7=1 挤在桶 1;3、17 在桶 3;5 在桶 5)。
样例
stdin
7 6 8 15 22 5 3 17
期望输出
0 3 0 2 0 1 0
stdin
5 4 10 20 30 40
期望输出
4 0 0 0 0
c-dcc
14