Greatest Sum Divisible by Three LeetCode solution in Java
1class Solution {23public int maxSumDivThree(int[] nums) {4int r0 = 0;5int r1 = 0;6int r2 = 0;7for (int i = 0; i < nums.length; i++) {8int nr0 = r0;9int nr1 = r1;10int nr2 = r2;11int a = r0 + nums[i];12int b = r1 + nums[i];13int c = r2 + nums[i];14if (a % 3 == 0) {15nr0 = Math.max(nr0, a);16} else if (a % 3 == 1) {17nr1 = Math.max(nr1, a);18} else if (a % 3 == 2) {19nr2 = Math.max(nr2, a);20}2122if (b % 3 == 0) {23nr0 = Math.max(nr0, b);24} else if (b % 3 == 1) {25nr1 = Math.max(nr1, b);26} else if (b % 3 == 2) {27nr2 = Math.max(nr2, b);28}2930if (c % 3 == 0) {31nr0 = Math.max(nr0, c);32} else if (c % 3 == 1) {33nr1 = Math.max(nr1, c);34} else if (c % 3 == 2) {35nr2 = Math.max(nr2, c);36}37r0 = nr0;38r1 = nr1;39r2 = nr2;40}4142return r0;43}44}