首页 🍒LeetCode,🐶算法

题目

0.png

思路

数据只有50,可以直接四层循环暴力过

也可以使用哈希表,逆序遍历c,把每个d可能的数都存入哈希表中,然后判断a + b + c是否能在哈希表中找到对应的值。
可以用数组代替哈希表

func countQuadruplets(nums []int) int {
    n := len(nums)
    mp := make([]int, 301)
    res := 0
    for c := n - 2; c >= 2; c-- {
        mp[nums[c+1]]++
        for a := 0; a < c - 1; a++ {
            for b := a + 1; b < c; b++ {
                res += mp[nums[a] + nums[b] + nums[c]]
            }
        }
    } 
    return res
}



文章评论