Greatest Sum Divisible by Three LeetCode solution in Java

1
class Solution {
2

3
public int maxSumDivThree(int[] nums) {
4
int r0 = 0;
5
int r1 = 0;
6
int r2 = 0;
7
for (int i = 0; i < nums.length; i++) {
8
int nr0 = r0;
9
int nr1 = r1;
10
int nr2 = r2;
11
int a = r0 + nums[i];
12
int b = r1 + nums[i];
13
int c = r2 + nums[i];
14
if (a % 3 == 0) {
15
nr0 = Math.max(nr0, a);
16
} else if (a % 3 == 1) {
17
nr1 = Math.max(nr1, a);
18
} else if (a % 3 == 2) {
19
nr2 = Math.max(nr2, a);
20
}
21

22
if (b % 3 == 0) {
23
nr0 = Math.max(nr0, b);
24
} else if (b % 3 == 1) {
25
nr1 = Math.max(nr1, b);
26
} else if (b % 3 == 2) {
27
nr2 = Math.max(nr2, b);
28
}
29

30
if (c % 3 == 0) {
31
nr0 = Math.max(nr0, c);
32
} else if (c % 3 == 1) {
33
nr1 = Math.max(nr1, c);
34
} else if (c % 3 == 2) {
35
nr2 = Math.max(nr2, c);
36
}
37
r0 = nr0;
38
r1 = nr1;
39
r2 = nr2;
40
}
41

42
return r0;
43
}
44
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0