题目
链接
详情
实例
提示
题解
思路
遍历容器,依次求出数字和与元素和,然后求差值:
通过 getSun 函数,求取元素的数字和
getSun 函数的实现:
将其对10取余操作,获取的余数即为当前位的数字
然后再除以10,继续对其进行10的取余操作,获取各个位的数字 将各个位的数字相加并返回 llSunNum
遍历求出元素和 llSun
对 llSun 和 llSunNum 进行差值运算,然后通过 fabs
函数来进行绝对值操作,即可获取绝对差,并返回
或者先对 llSun 和 llSunNum 判断一个大小,用大的减小的,即可获取绝对差,并返回
代码
class Solution {
public:
int getSun(int num)
{
int iRet = 0;
while (num)
{
iRet += num % 10;
num /= 10;
}
return iRet;
}
int differenceOfSum(vector<int>& nums) {
long long llSun = 0;
long long llSunNum = 0;
for (int i = 0; i < nums.size(); i++)
{
llSun += nums.at(i);
llSunNum += getSun(nums.at(i));
}
if (llSun > llSunNum)
return llSun - llSunNum;
else
return llSunNum - llSun;
}
};
标签:10,数字,int,llSunNum,差值,llSun,LeetCode,2535
From: https://www.cnblogs.com/EricsT/p/18534538