123456789101112131415161718192021 |
- 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
- }
|