Given an array nums of distinct positive integers, return the number of tuples (a, b, c, d) such that a * b = c * d where a, b, c, and d are elements of nums, and a != b != c != d.
because there is no duplicate in the numbers, every time we found two tuples whose product are the same, the tuples must be different
class Solution {
public int tupleSameProduct(int[] nums) {
Map<Integer, Integer> map = new HashMap();
int res = 0;
for (int i = 0; i < nums.length; i ++) {
for (int j = i + 1; j < nums.length; j ++) {
res += 8 * map.getOrDefault(nums[i] * nums[j], 0);
map.put(nums[i] * nums[j], map.getOrDefault(nums[i] * nums[j], 0) + 1);
}
}
return res;
}
}