https://leetcode.com/problems/count-good-triplets/description/ Easy

Условие

Дан массив целых arr и целые a, b, c. Тройка индексов (i, j, k) называется хорошей, если

• 0 ≤ i < j < k < arr.size

• |arr[i] - arr[j]| ≤ a

• |arr[j] - arr[k]| ≤ b

• |arr[i] - arr[k]| ≤ c

Нужно вернуть количество хороших тройок.

Решение

class Solution {
    fun countGoodTriplets(arr: IntArray, a: Int, b: Int, c: Int): Int {
        var count = 0
        for (i in 0 until arr.size) {
            for (j in i + 1 until arr.size) {
                for (k in j + 1 until arr.size) {
                    if (Math.abs(arr[i] - arr[j]) <= a &&
                        Math.abs(arr[j] - arr[k]) <= b &&
                        Math.abs(arr[i] - arr[k]) <= c) {
                        count++
                    }
                }
            }
        }
        return count
    }
}