Skip to content

Commit 5694de8

Browse files
Subarray sum equals k
1 parent e0cfb1b commit 5694de8

File tree

2 files changed

+42
-2
lines changed

2 files changed

+42
-2
lines changed

src/main/java/leetcode/medium/SubArraySumEqualsK.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
class SubArraySumEqualsK {
1111

12-
public int subarraySum(int[] nums, int k) {
12+
int subarraySum(int[] nums, int k) {
1313

1414
Map<Integer, Integer> sumCountMap = new HashMap<>();
1515
sumCountMap.put(0, 1);
@@ -22,7 +22,9 @@ public int subarraySum(int[] nums, int k) {
2222
if (sumCountMap.containsKey(prefixSum - k)) {
2323
result += sumCountMap.get(prefixSum - k);
2424
}
25-
sumCountMap.put(prefixSum, sumCountMap.getOrDefault(prefixSum, 0) + 1);
25+
26+
sumCountMap.put(prefixSum,
27+
sumCountMap.getOrDefault(prefixSum, 0) + 1);
2628
}
2729

2830
return result;
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package leetcode.medium;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import static org.junit.jupiter.api.Assertions.*;
6+
7+
class SubArraySumEqualsKTest {
8+
9+
private final SubArraySumEqualsK subArraySumEqualsK;
10+
11+
SubArraySumEqualsKTest() {
12+
subArraySumEqualsK = new SubArraySumEqualsK();
13+
}
14+
15+
@Test
16+
void testSubarraySum1() {
17+
int[] nums = {1, 1, 1};
18+
int k = 2;
19+
20+
assertEquals(2, subArraySumEqualsK.subarraySum(nums, k));
21+
}
22+
23+
@Test
24+
void testSubarraySum2() {
25+
int[] nums = {1, 2, 3};
26+
int k = 3;
27+
28+
assertEquals(2, subArraySumEqualsK.subarraySum(nums, k));
29+
}
30+
31+
@Test
32+
void testSubarraySum3() {
33+
int[] nums = {1, -1, 0};
34+
int k = 0;
35+
36+
assertEquals(3, subArraySumEqualsK.subarraySum(nums, k));
37+
}
38+
}

0 commit comments

Comments
 (0)