# [LeetCode]#1534. Count Good Triplets

**Environment: Python 3.8**

**Key technique: for**

Given an array of integers `arr`

, and three integers `a`

, `b`

and `c`

. You need to find the number of good triplets.

A triplet `(arr[i], arr[j], arr[k])`

is **good** if the following conditions are true:

`0 <= i < j < k < arr.length`

`|arr[i] - arr[j]| <= a`

`|arr[j] - arr[k]| <= b`

`|arr[i] - arr[k]| <= c`

Where `|x|`

denotes the absolute value of `x`

.

Return* the number of good triplets*.

**Example 1:**

**Input:** arr = [3,0,1,1,9,7], a = 7, b = 2, c = 3

**Output:** 4

**Explanation:** There are 4 good triplets: [(3,0,1), (3,0,1), (3,1,1), (0,1,1)].

**Analysis:**

- Match three conditions as below.
- If get 3 passes, return 1 match.

**Solution:**

class Solution:

def countGoodTriplets(self, arr, a, b, c):

ans = 0for i in range(len(arr)):

for j in range(i+1, len(arr)):

for k in range(j+1, len(arr)):

a_pass = abs(arr[i] - arr[j]) <= a

b_pass = abs(arr[j] - arr[k]) <= b

c_pass = abs(arr[i] - arr[k]) <= c

if a_pass and b_pass and c_pass:

ans += 1

return ans

**Submissions:**

**Reference:**