1262. 可被三整除的最大和

给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/greatest-sum-divisible-by-three
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

import java.util.Arrays;

class Solution {
    public int maxSumDivThree(int[] nums) {
        if (nums == null || nums.length == 0) {
            return 0;
        }
        int[] bucket = new int[3];

        for (int i = 0; i < nums.length; ++i) {
            int[] help = Arrays.copyOf(bucket, 3);
            for (int j = 0; j < 3; ++j) {
                // if j == 0 || help[j] != 0
                int pos = (help[j] + nums[i]) % 3;
                bucket[pos] = Math.max(bucket[pos], help[j] + nums[i]);
            }
        }

        return bucket[0];
    }
}
posted @ 2022-01-08 13:33  Tianyiya  阅读(30)  评论(0)    收藏  举报