-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcount-good-triplets.js
36 lines (29 loc) · 1.01 KB
/
count-good-triplets.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// 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.
// Link: https://leetcode.com/problems/count-good-triplets/description/
//1st soln O(n^3) w/ help
var countGoodTriplets = function(arr, a, b, c) {
let res = 0;
for(let i = 0; i < arr.length; i++) {
for(let j = i+1; j < arr.length; j++) {
if(Math.abs(arr[i] - arr[j]) > a) {
continue;
}
for(let k = j+1; k < arr.length; k++) {
if(Math.abs(arr[j] - arr[k]) > b) {
continue;
}
if(Math.abs(arr[k] - arr[i]) <= c) {
res++;
}
}
}
}
return res;
};