All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g1501_1600.s1534_count_good_triplets.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g1501_1600.s1534_count_good_triplets;

// #Easy #Array #Enumeration #2022_04_09_Time_14_ms_(82.96%)_Space_42.6_MB_(6.55%)

/**
 * 1534 - Count Good Triplets\.
 *
 * Easy
 *
 * 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)].
 *
 * **Example 2:**
 *
 * **Input:** arr = [1,1,2,2,3], a = 0, b = 0, c = 1
 *
 * **Output:** 0
 *
 * **Explanation:** No triplet satisfies all conditions.
 *
 * **Constraints:**
 *
 * *   `3 <= arr.length <= 100`
 * *   `0 <= arr[i] <= 1000`
 * *   `0 <= a, b, c <= 1000`
**/
public class Solution {
    public int countGoodTriplets(int[] arr, int a, int b, int c) {
        int count = 0;
        for (int i = 0; i < (arr.length) - 2; i++) {
            for (int j = i + 1; j < (arr.length) - 1; j++) {
                if (Math.abs(arr[i] - arr[j]) <= a) {
                    for (int k = j + 1; k < arr.length; k++) {
                        if (Math.abs(arr[j] - arr[k]) <= b && Math.abs(arr[i] - arr[k]) <= c) {
                            count++;
                        }
                    }
                }
            }
        }
        return count;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy