【编程】【leetcode】523. Continuous Subarray Sum


public class Solution {
    public boolean checkSubarraySum(int[] nums, int k) {
        int l=nums.length;
        //如果区分第一个元素不为k 那么就可以根据sum%k来判断是否返回true
        //反之 根据sum%k存在一定的缺陷 6 1 1 1
        //因此为了统一  不在根据sum 而都根据余数是否有相等
        int modsum=0;
        HashMap hashMap=new HashMap();
        hashMap.put(0,-1);//之所以要放这个是为了防止出现1 1  k==2的这种情况
        for (int i = 0; i 1){//不能等于1   因为可能出现23 2 6等类似情况
                    return true;
                }else{
                    continue;
                }
            }else{
                hashMap.put(modsum,i);
            }
        }
        return false;
    }
}


你可能感兴趣的:(【编程】)