Skip to content

Commit a802621

Browse files
authored
Create Count Special Triplets.java
1 parent 0ea62fc commit a802621

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

Medium/Count Special Triplets.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution {
2+
3+
private static final int MOD = 1_000_000_007;
4+
5+
public int specialTriplets(int[] nums) {
6+
int result = 0;
7+
Map<Integer, Integer> leftFrequency = new HashMap<>();
8+
Map<Integer, Integer> rightFrequency = new HashMap<>();
9+
for (int num : nums) {
10+
rightFrequency.put(num, rightFrequency.getOrDefault(num, 0) + 1);
11+
}
12+
for (int num : nums) {
13+
rightFrequency.put(num, rightFrequency.getOrDefault(num, 0) - 1);
14+
int leftMultiple = leftFrequency.getOrDefault(num * 2, 0);
15+
int rightMultiple = rightFrequency.getOrDefault(num * 2, 0);
16+
result = (int) ((result + 1L * leftMultiple * rightMultiple) % MOD);
17+
leftFrequency.put(num, leftFrequency.getOrDefault(num, 0) + 1);
18+
}
19+
return result;
20+
}
21+
}

0 commit comments

Comments
 (0)