Count the Hidden Sequences LeetCode solution in Java

1
class Solution {
2
public int numberOfArrays(int[] differences, int lower, int upper) {
3
ArrayList<Integer> ans = new ArrayList<>();
4
ans.add(lower);
5
int mn = lower;
6
int mx = lower;
7

8
for (int i = 0; i < differences.length; i++) {
9
int d = differences[i];
10
ans.add(d + ans.get(ans.size() - 1));
11
mn = Math.min(mn, ans.get(ans.size() - 1));
12
mx = Math.max(mx, ans.get(ans.size() - 1));
13
}
14

15
int add = lower - mn;
16

17
for (int i = 0; i < ans.size(); i++) {
18
ans.set(i, ans.get(i) + add);
19
}
20

21
for (int i = 0; i < ans.size(); i++) {
22
if (ans.get(i) < lower || upper < ans.get(i)) {
23
return 0;
24
}
25
}
26

27
int add2 = upper - mx;
28

29
return add2 - add + 1;
30
}
31
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0