leetcode(리트코드)560-Subarray Sum Equals K
leetcode(리트코드)560-Subarray Sum Equals K
leetcode 560 - Subarray Sum Equals K 문제입니다.
1. 문제
https://leetcode.com/problems/subarray-sum-equals-k/
2. Input , Output
3. 분류 및 난이도
Medium 난이도 문제입니다.
leetcode Top 100 Liked 문제입니다.
4. 문제 해석
- nums라는 벡터가 들어옵니다.
- 연속된 부분배열을 이용해 k를 만들 수 있는 경우의 수를 구해 리턴하세요.
5. code
코드설명
- 맵에 연속된 배열의 합을 저장해놓는 것이 중요합니다.
c++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public:
int subarraySum(vector<int>& nums, int k) {
unordered_map<int,int> um;
um[0] ++;
int res = 0 ;
int sum = 0;
for(int i = 0 ; i < nums.size();++i){
sum += nums[i];
res += um[sum-k];
um[sum] ++;
}
return res;
}
};
6. 결과 및 후기, 개선점
c++ 44% 84ms
This post is licensed under CC BY 4.0 by the author.