这道题我只会三重循环的方法。如果 i 和 j 的条件满足,k从j+1开始找是否有满足条件的。
用了68ms
class Solution {
public:
int countGoodTriplets(vector<int>& arr, int a, int b, int c) {
int cnt = 0;
for(int i =0;i<arr.size();++i)
{
for(int j =i+1;j<arr.size();++j)
{
if( (arr[i]-arr[j]<=a) && (arr[j]-arr[i]<=a) )
{
for(int k = j+1;k<arr.size();++k)
{
if((arr[k]-arr[j]<=b) && (arr[j]-arr[k]<=b))
{
if((arr[k]-arr[i]<=c) && (arr[i]-arr[k]<=c))
cnt++;
}
}
}
}
}
return cnt;
}
};