g1501_1600.s1534_count_good_triplets.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
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