[LeetCode][Java] Subarray Sum Equals K

최지수·2022년 2월 13일
0

Algorithm

목록 보기
54/77
post-thumbnail

문제

Given an array of integers nums and an integer k, return the total number of continuous subarrays whose sum equals to k.

제한 사항

1 \leq nums.length \leq 2 * 10410^4
-1000 \leq nums[i] \leq 1000
-10710^7 \leq k \leq 10710^7

접근

음수를 고려해야 해서 따로 예외 처리하는 방법이 없더라구요... 그래서 start 인덱스를 하나하나 찾아서 답이 되는 모든 경우의 수를 더해주는 방식으로 접근했어요.

답안

class Solution {
    
    public int subarraySum(int[] nums, int k) {
        int answer = 0;

        for(int offset = 0; offset < nums.length; ++offset){
            int value = 0;
            for(int start = offset; start < nums.length; ++start){
                value += nums[start];
                if(value == k){
                    ++answer;
                }
            }
        }

        return answer;
    }
}
profile
#행복 #도전 #지속성

0개의 댓글