美文网首页
连续的子数组和

连续的子数组和

作者: phusFuNs | 来源:发表于2021-02-23 11:26 被阅读0次

    给定一个包含 非负数 的数组和一个目标 整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,且总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。

    链接:https://leetcode-cn.com/problems/continuous-subarray-sum

    class Solution {
    
        private boolean isMatch(int x, int k) {
            if(k==0) {
                if(x==0) {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                if((x%k)==0) {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
    
        public boolean checkSubarraySum(int[] nums, int k) {
    
            int[] preSum = new int[nums.length];
            preSum[0] = nums[0];
            for(int i=1; i<nums.length; i++) {
                preSum[i] = preSum[i-1]+nums[i];
            }
    
            Map<Integer, Integer> mp = new HashMap<>();
            for(int i=0; i<preSum.length; i++) {
                if((i>=1)&&isMatch(preSum[i], k)) {
                    return true;
                }
                if(k!=0) {
                    if(mp.containsKey(preSum[i]%k)) {
                        if((i-mp.get(preSum[i]%k))>1) {
                            return true;
                        }
                    }
                    else
                    {
                        mp.put(preSum[i]%k, i);
                    }
                }
                else
                {
                    if(mp.containsKey(preSum[i])) {
                        if((i-mp.get(preSum[i]))>1) {
                            return true;
                        }
                    }
                    else
                    {
                        mp.put(preSum[i], i);
                    }
                }
            }
            return false;
        }
    }
    

    相关文章

      网友评论

          本文标题:连续的子数组和

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