Leetcode6241.数组中不等的三元组的数目
给你一个下标从 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),找到符合要求的然后通过计数器计数.
代码实现
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;
}
}
总结
这道题七分钟就做出来喽,好开心呀。