力扣320周赛---6241.数组中不等三元组的数目

221 阅读1分钟

Leetcode6241.数组中不等的三元组的数目

链接:leetcode.cn/problems/nu…

给你一个下标从 0 开始的正整数数组 nums 。请你找出并统计满足下述条件的三元组 (i, j, k) 的数目:

  • 0 <= i < j < k < nums.length

  • nums[i]nums[j] 和 nums[k] 两两不同 。

    • 换句话说:nums[i] != nums[j]nums[i] != nums[k] 且 nums[j] != nums[k] 。

返回满足上述条件三元组的数目

输入: nums = [4,4,2,4,3]
输出: 3
解释: 下面列出的三元组均满足题目条件:
- (0, 2, 4) 因为 4 != 2 != 3
- (1, 2, 4) 因为 4 != 2 != 3
- (2, 3, 4) 因为 2 != 4 != 3
共计 3 个三元组,返回 3 
注意 (2, 0, 4) 不是有效的三元组,因为 2 > 0 

思路

枚举出所有的三元组(for),找到符合要求的然后通过计数器计数.

image.png

代码实现

class Solution {

public int unequalTriplets(int[] nums) {

int n=nums.length;

int count=0;

for(int i=0;i<n;i++){

for(int j=i+1;j<n;j++){

for(int k=j+1;k<n;k++){

if((nums[i]!=nums[j])&&(nums[j]!=nums[k])&&(nums[i]!=nums[k])){

count++;

}

}

}

}

return count;
}

}

总结

这道题七分钟就做出来喽,好开心呀。