File tree 2 files changed +38
-1
lines changed
2 files changed +38
-1
lines changed Original file line number Diff line number Diff line change 300
300
| 1118 | [ Number of Days in a Month] ( https://leetcode.com/problems/number-of-days-in-a-month ) | | |
301
301
| 1119 | [ Remove Vowels From String] ( https://leetcode.com/problems/remove-vowels-from-a-string ) | | |
302
302
| 1122 | [ Relative Sort Array] ( https://leetcode.com/problems/relative-sort-array ) | | |
303
- | 1128 | [ Number of Equivalent Domino Pairs] ( https://leetcode.com/problems/number-of-equivalent-domino-pairs ) | | |
303
+ | 1128 | [ Number of Equivalent Domino Pairs] ( https://leetcode.com/problems/number-of-equivalent-domino-pairs ) | [ ![ Java ] ( assets/java.png )] ( src/NumberOfEquivalentDominoPairs.java ) | |
304
304
| 1133 | [ Largest Unique Number] ( https://leetcode.com/problems/largest-unique-number ) | | |
305
305
| 1134 | [ Armstrong Number] ( https://leetcode.com/problems/armstrong-number ) | | |
306
306
| 1137 | [ Nth Tribonacci Number] ( ) | | |
Original file line number Diff line number Diff line change
1
+ import java .util .HashMap ;
2
+ import java .util .Map ;
3
+
4
+ public class NumberOfEquivalentDominoPairs {
5
+ private static class Domino {
6
+ private final int number ;
7
+
8
+ Domino (int [] array ) {
9
+ number = Math .min (array [0 ], array [1 ]) * 10 + Math .max (array [0 ], array [1 ]);
10
+ }
11
+
12
+ @ Override
13
+ public boolean equals (Object o ) {
14
+ Domino domino = (Domino ) o ;
15
+ return number == domino .number ;
16
+ }
17
+
18
+ @ Override
19
+ public int hashCode () {
20
+ return number ;
21
+ }
22
+ }
23
+
24
+ public int numEquivDominoPairs (int [][] dominoes ) {
25
+ final Map <Domino , Integer > dominoesFrequencies = new HashMap <>();
26
+ Domino d ;
27
+ for (int [] domino : dominoes ) {
28
+ d = new Domino (domino );
29
+ dominoesFrequencies .put (d , dominoesFrequencies .getOrDefault (d , 0 ) + 1 );
30
+ }
31
+ int equivalentPairs = 0 ;
32
+ for (int frequency : dominoesFrequencies .values ()) {
33
+ equivalentPairs += (frequency * (frequency - 1 )) / 2 ;
34
+ }
35
+ return equivalentPairs ;
36
+ }
37
+ }
You can’t perform that action at this time.
0 commit comments