Software Engineering/Algorithm

[LeetCode] #560 Subarray Sum Equals K

devhrkim 2024. 7. 6. 14:06

풀이

class Solution {
    public int subarraySum(int[] nums, int k) {
        Map<Integer, Integer> hashMap = new HashMap<>();
        int curr = 0;
        int answer = 0;
        hashMap.put(0,1);
        for(int i=0;i<nums.length;i++) {
            curr += nums[i];
            answer += hashMap.getOrDefault(curr-k,0);
            hashMap.put(curr, hashMap.getOrDefault(curr, 0)+1);
        }
        return answer;
    }
}