Skip to content

Commit b4f260c

Browse files
Merge pull request #186
add new problem 4.05 may
2 parents fe7f9f2 + aaa4f18 commit b4f260c

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

contest/src/main/java/com/github/contest/hashTable/HashTableLeetcode.kt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,4 +477,35 @@ fun intToRoman(num: Int): String {
477477
return result.toString()
478478
}
479479

480+
/**
481+
* 1128. Number of Equivalent Domino Pairs
482+
*/
483+
484+
fun numEquivDominoPairs(dominoes: Array<IntArray>): Int {
485+
var count = 0
486+
val pairs = mutableMapOf<Pair<Int, Int>, Int>()
487+
488+
for (domino in dominoes) {
489+
val base = Pair(domino[0], domino[1])
490+
val reversed = Pair(domino[1], domino[0])
491+
492+
when {
493+
!pairs.contains(base) && !pairs.contains(reversed) -> pairs[base] =
494+
pairs.getOrDefault(base, 0) + 1
495+
496+
pairs.contains(base) -> {
497+
count += pairs.getOrDefault(base, 0)
498+
pairs[base] = pairs.getOrDefault(base, 0) + 1
499+
}
500+
501+
else -> {
502+
count += pairs.getOrDefault(reversed, 0)
503+
pairs[reversed] = pairs.getOrDefault(reversed, 0) + 1
504+
}
505+
}
506+
}
507+
508+
return count
509+
}
510+
480511

0 commit comments

Comments
 (0)