【leetcode】可被三整除的最大和

题目链接:1262. 可被三整除的最大和 - 力扣(LeetCode)

题目的意思是要找数组元素的最大和,这个和必须能被三整除

对于一个和来说,它和三整除就只有三个结果,0,1,2,可以在遍历数组中记录和模3三种结果的最大值

复制代码
class Solution {
public:
    int maxSumDivThree(vector<int> &nums) {
        int remains[3] = {0};
        int zero, one, two;
        for (int num: nums) {
            zero = remains[0] + num;
            one = remains[1] + num;
            two = remains[2] + num;
            remains[zero % 3] = max(remains[zero % 3], zero);
            remains[one % 3] = max(remains[one % 3], one);
            remains[two % 3] = max(remains[two % 3], two);
        }
        return remains[0];
    }
};
相关推荐
武子康7 小时前
H3-World 为何在加载 LoRA 前,先检查导入的代码?
人工智能·深度学习·算法
秋天的怀念_David8 小时前
算法一千零一夜 · 第二十八夜 注册
java·程序人生·算法
Rain的Java大神之路10 小时前
LeetCode 37 解数独面试攻略:回溯 + 位掩码 + MRV,从暴力到毫秒级求解
java·后端·leetcode
NEFU_Jyj10 小时前
贝尔数(组合数学)
算法
希和202710 小时前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
Pniubi11 小时前
力扣73 矩阵置零
算法·leetcode·矩阵
布莱克60521 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
D e re k ZH1 天前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
石小石Orz1 天前
AI 正在蚕食我们的编码能力
前端·后端·算法