添加新题目
This commit is contained in:
40
子串/和为K的子数组/main.go
Normal file
40
子串/和为K的子数组/main.go
Normal file
@@ -0,0 +1,40 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
fmt.Println(subarraySum([]int{1, 2, 1, 2, 1}, 3))
|
||||
}
|
||||
|
||||
func subarraySum(nums []int, k int) int {
|
||||
result := 0
|
||||
hash := make(map[int]int)
|
||||
value := 0
|
||||
hash[0] = 1
|
||||
for i := range nums {
|
||||
value += nums[i]
|
||||
if v, ok := hash[value-k]; ok {
|
||||
result += v
|
||||
}
|
||||
hash[value]++
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
//func subarraySum(nums []int, k int) int {
|
||||
// slow := 0
|
||||
// result := 0
|
||||
// for slow < len(nums) {
|
||||
// value := 0
|
||||
// fmt.Println("1")
|
||||
// for fast := slow; fast < len(nums); fast++ {
|
||||
// value += nums[fast]
|
||||
// if value == k {
|
||||
// result += 1
|
||||
// }
|
||||
// }
|
||||
// slow++
|
||||
// }
|
||||
// return result
|
||||
//}
|
||||
Reference in New Issue
Block a user