We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
  • HackerRank Home

    HackerRank

  • |
  • Prepare
  • Certify
  • Compete
  • Hiring developers?
  1. Count Triplets
  2. Discussions

Count Triplets

Problem
Submissions
Leaderboard
Discussions
Editorial

    You are viewing a single comment's thread. Return to all comments →

  • dorianDL
    2 months ago+ 2 comments

    Hello, using the Editorial suggestion :

    function countTriplets(arr, r) {
        let result = 0
        const left = new Map(), right = new Map()
        
        arr.forEach((elem) => {
            const tmp = right.get(elem) || 0
            right.set(elem, tmp+1)
        })
        arr.forEach((elem) => {
            if (right.has(elem)) right.set(elem, right.get(elem) - 1)
            const c1 = right.get(elem * r) || 0
            const c2 = left.get(elem / r) || 0
            result += c1 * c2
            left.set(elem, (left.get(elem) || 0) + 1)
        })
        return result
    }
    
    0|
    Permalink
  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy