LeetCode 2535. 数组元素和与数字和的绝对差

给你一个正整数数组 nums 。

元素和 是 nums 中的所有元素相加求和。
数字和 是 nums 中每一个元素的每一数位(重复数位需多次求和)相加求和。
返回 元素和 与 数字和 的绝对差。

注意:两个整数 x 和 y 的绝对差定义为 |x - y| 。

输入:nums = [1,15,6,3]
输出:9
解释:
nums 的元素和是 1 + 15 + 6 + 3 = 25 。
nums 的数字和是 1 + 1 + 5 + 6 + 3 = 16 。
元素和与数字和的绝对差是 |25 - 16| = 9 。

class Solution {
public:
    int differenceOfSum(vector<int>& nums) {
        int sum = 0;
        int digitSum = 0;
        for (int i : nums) {
            sum += i;
            digitSum += getDigitSum(i);
        }

        return abs(sum - digitSum);
    }

private:
    int getDigitSum(int num) {
        int digitSum = 0;
        while (num) {
            int curLastDigit = num % 10;
            digitSum += curLastDigit;
            num /= 10;
        }

        return digitSum;
    }
};
posted @   epiphanyy  阅读(6)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-01-17 LeetCode 2114. 句子中的最多单词数
2020-01-17 C++ Primer 学习笔记 第四章 表达式
点击右上角即可分享
微信分享提示