func checkSubarraySum(nums []int, k int) bool { n := len(nums) if n < 2 { return false } dp := make([]int, n) copy(dp, nums) for l := n - 1; 1 <= l; l-- { for i := 0; i < l; i++ { dp[i] += nums[i+n-l] if k == 0 { if dp[i] == k { return true } } else if dp[i]%k == 0 { return true } } } return false }