1534. 统计好三元组 - 力扣(LeetCode)
给你一个整数数组 arr
,以及 a
、b
、c
三个整数。请你统计其中好三元组的数量。
如果三元组 (arr[i], arr[j], arr[k])
满足下列全部条件,则认为它是一个 好三元组 。
0 <= i < j < k < arr.length
|arr[i] - arr[j]| <= a
|arr[j] - arr[k]| <= b
|arr[i] - arr[k]| <= c
其中 |x|
表示 x
的绝对值。
返回 好三元组的数量 。
思路:暴力解法😀
先从左右两端确定i、k位置,在从中间遍历
class Solution {
public:
int countGoodTriplets(vector<int>& arr, int a, int b, int c) {
//先确定两端i、k位置
int res=0;
for(int i=0;i<arr.size();i++){
for(int k=arr.size()-1;k>i;k--){
if(abs(arr[i]-arr[k])<=c){
for(int j=i+1;j<k;j++){
if(abs(arr[j]-arr[k])<=b&&abs(arr[i]-arr[j])<=a)
res++;
}
}
}
}
return res;
}
};