1128.等价多米诺骨牌对的数量
链接:1128.等价多米诺骨牌对的数量
难度:Easy
标签:数组、哈希表、计数
简介:给你一个由一些多米诺骨牌组成的列表 dominoes。在 0 <= i < j < dominoes.length 的前提下,找出满足 dominoes[i] 和 dominoes[j] 等价的骨牌对 (i, j) 的数量。
题解 1 - typescript
- 编辑时间:2021-01-26
- 执行用时:128ms
- 内存消耗:48.9MB
- 编程语言:typescript
- 解法介绍:用哈希表储存结果后进行筛选。
function numEquivDominoPairs(dominoes: number[][]): number {
const map: Record<string, number> = {};
const format = (n1: number, n2: number) => `${n1}-${n2}`;
for (let [n1, n2] of dominoes) {
if (n1 > n2) [n1, n2] = [n2, n1];
const str = format(n1, n2);
map[str] = 1 + (map[str] ?? 0);
}
return Object.entries(map)
.filter(([, v]) => v > 1)
.reduce((total, [, count]) => total + (count * (count - 1)) / 2, 0);
}