Write a Program to Find Number of Unequal Triplets in Array
# 2475. Number of Unequal Triplets in Array
You are given a 0-indexed array of positive integers nums. Find the number of triplets (i, j, k) that meet the following conditions:
0 <= i < j < k < nums.length nums[i], nums[j], and nums[k] are pairwise distinct. In other words, nums[i] != nums[j], nums[i] != nums[k], and nums[j] != nums[k]. Return the number of triplets that meet the conditions.
### Example 1: “` Input: nums = [4,4,2,4,3] Output: 3 Explanation: The following triplets meet the conditions: – (0, 2, 4) because 4 != 2 != 3 – (1, 2, 4) because 4 != 2 != 3 – (2, 3, 4) because 2 != 4 != 3 Since there are 3 triplets, we return 3. Note that (2, 0, 4) is not a valid triplet because 2 > 0. “`
### Example 2: ``` Input: nums = [1,1,1,1,1] Output: 0 Explanation: No triplets meet the conditions so we return 0. ```
Constraints: ``` 3 <= nums.length <= 100 1 <= nums[i] <= 1000 ```
/** * @param {number[]} nums * @return {number} */ var unequalTriplets = function(nums) { const hashMap = {}; for(const item of nums) { hashMap[item] = hashMap[item] ? hashMap[item] + 1 : 1; } let left = 0, right = nums.length, out = 0; for (const freq of Object.values(hashMap)) { right -= freq; out += left * freq * right; left += freq; } return out; };