File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
contest/src/main/java/com/github/contest/hashTable Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments