package top100liked import "testing" // https://leetcode.cn/problems/continuous-subarray-sum/ func checkSubarraySum(nums []int, k int) bool { idx := make(map[int]int) cur := 0 idx[0] = -1 for i, v := range nums { cur += v if j, ok := idx[cur%k]; ok { if i-j >= 2 { return true } } else { idx[cur%k] = i } } return false } func TestS10_1(t *testing.T) { println(checkSubarraySum([]int{23, 2, 6, 4, 7}, 13)) }