Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public int specialTriplets(int[] nums) {
- final int MOD = 1000000007;
- final int n = nums.length;
- HashMap<Integer, Integer> map1 = new HashMap<>();
- for(int num: nums) {
- map1.put(num, map1.getOrDefault(num, 0) + 1);
- }
- HashMap<Integer, Integer> map2 = new HashMap<>();
- long triplets = 0;
- for(int i=0; i<n; i++) {
- map1.put(nums[i], map1.get(nums[i]) - 1);
- long leftFreq = map2.getOrDefault(nums[i] * 2, 0);
- long rightFreq = map1.getOrDefault(nums[i] * 2, 0);
- long currTriplets = (leftFreq * rightFreq) % MOD;
- triplets = (triplets + currTriplets) % MOD;
- map2.put(nums[i], map2.getOrDefault(nums[i], 0) + 1);
- }
- return (int) triplets;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment