美文网首页
和为K的子数组

和为K的子数组

作者: 7赢月 | 来源:发表于2020-05-15 11:18 被阅读0次

题目描述

https://leetcode-cn.com/problems/subarray-sum-equals-k/



func subarraySum(nums []int, k int) int {
    if len(nums) == 0 {
        return 0
    }
    // 计算当前值
    var (
        pre int
        r   int
        // 哈希统计出现次数
        s = make(map[int]int, len(nums)+1)
    )
    s[0] = 1
    for _, v := range nums {
        pre += v
        if c, ok := s[pre-k]; ok {
            r += c
        }
        s[pre]++
    }
    return r
}


思路

前缀+哈希,不过暴力可解!

相关文章

  • leetcode 560. 和为K的子数组

    560. 和为K的子数组 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 ...

  • 560.和为K的子数组

    和为K的子数组 题目 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1...

  • LeetCode 862. 和至少为 K 的最短子数组

    返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。如果没有和至少为 K 的非空子数组,返回 -1。...

  • 前缀和

    560.和为K的子数组 算出一共有几个和为 k 的子数组。这里用到了前缀和数组。 注意以下几点: 前缀和数组第0号...

  • 和为K的子数组

    题目描述 https://leetcode-cn.com/problems/subarray-sum-equals...

  • 和为k的子数组

    classSolution{ publicintsubarraySum(int[]nums,intk){ int[...

  • LeetCode 560 和为k的子数组

    LeetCode 560 和为k的子数组 题目描述: 代码:

  • 560. 和为K的子数组

    【Description】给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例...

  • 和为K的连续子数组

    题目描述:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例:输入:nums...

  • 「算法」689. 三个无重叠子数组的最大和

    给你一个整数数组 nums 和一个整数 k ,找出三个长度为 k 、互不重叠、且 3 * k 项的和最大的子数组,...

网友评论

      本文标题:和为K的子数组

      本文链接:https://www.haomeiwen.com/subject/gezqohtx.html