给定每只袜子的颜色,只有颜色相同的两只可以配成一对。核心做法是统计每种颜色出现的次数,然后对每种颜色的计数取整除 2(即 cnt // 2),最后把所有颜色能配成的对数相加即可。
相关算法:使用哈希计数(映射/字典/散列表)。 实现方法:
小明准备整理衣柜里的袜子。这些袜子混在一起,共有 n 只,每只袜子都有唯一的颜色(用整数表示),只有颜色完全相同的 2 只袜子才能组成 1 对,单只袜子无法构成一对。现在小明需要统计:这堆袜子里一共能整理出多少对完整的袜子?
第一行输入一个整数 n(1≤n≤10),表示袜子的总数量。
接下来输入 n 个整数,表示袜子的颜色 a1,a2,...,an(1≤ai≤10) ;
输出一个整数,表示完整的袜子的对数。
输入
6
1 2 3 1 2 3
输出
3
说明
颜色 1 出现 2 次,可组成 1 对;颜色 2 出现 2 次,可组成 1 对;颜色 3 出现 2 次,可组成 1 对。合计 3 对。
输入
5
1 2 3 4 5
输出
0
说明
1、2、3、4、5 各只出现 1 次,均无法配对,合计 0 对。