1590-make-sum-divisible-by-p

DevGod needs to write a blog entry for this problem!
/**
 * @param {number[]} nums
 * @param {number} p
 * @return {number}
 */

var minSubarray = function(nums, p) {
    let myMap = new Map();
    myMap.set(0,-1);
    let ans = 10**9;

    let prefix = 0;
    let remainder = _.sumBy(nums)%p;

    if(remainder == 0){return 0;}

    let I = 0;
    for(let num of nums){
        prefix = (prefix+num)%p;

        let target = (prefix - remainder + p) % p;

        console.log(prefix,target);
        if(myMap.has(target)){
            ans = Math.min(ans, I - myMap.get(target));
        }
        myMap.set(prefix, I);
        I++;
    }

    return ans >= nums.length ? -1 : ans;
};