You are viewing a single comment's thread. Return to all comments →
function countTriplets(arr, r) { let map = new Map(), len = arr.length, count = 0; for(let i = 0; i < len; i++) { if (map.has(arr[i])) map.get(arr[i]).push(i); else map.set(arr[i], [i]); } if (r === 1) { map.forEach((v) => count += v.length * (v.length - 1) * (v.length - 2) / 6 ); return count; } for (let i = 1; i < len - 1; i++) { count += (map.get(arr[i] / r)?.filter((idx) => idx < i)?.length || 0) * (map.get(arr[i] * r)?.filter((idx) => idx > i)?.length || 0); } return count; }
Seems like cookies are disabled on this browser, please enable them to open this website
Count Triplets
You are viewing a single comment's thread. Return to all comments →