Continuous Subarray Sum LeetCode solution in Java

1
class Solution {
2
public boolean checkSubarraySum(int[] nums, int k) {
3
boolean t[] = new boolean[nums.length + 1];
4
Arrays.fill(t, false);
5

6
return help(nums.length, nums, k, 0, 0, t);
7
}
8

9
public boolean help(int i, int nums[], int k, int sum, int size, boolean t[]) {
10
if (size >= 2 && sum % k == 0) {
11
return true;
12
}
13

14
if (i == 0) {
15
return false;
16
}
17

18
if (t[i - 1] != false) {
19
return t[i - 1];
20
}
21

22
if (size > 0) {
23
return t[i] = help(i - 1, nums, k, sum + nums[i - 1], size + 1, t);
24
}
25

26
return t[i] =
27
help(i - 1, nums, k, sum + nums[i - 1], size + 1, t) || help(i - 1, nums, k, sum, size, t);
28
}
29
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0