LeetCode 2535[数组元素和与数字和的绝对差值]

[复制链接]
发表于 2024-11-8 09:07:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
标题

链接

LeetCode 2535[数组元素和与数字和的绝对差值]
详情


实例


提示


题解

思绪

遍历容器,依次求出数字和与元素和,然后求差值:
通过 getSun 函数,求取元素的数字和 
getSun 函数的实现:
  将其对10取余操纵,获取的余数即为当前位的数字
  然后再除以10,继续对其举行10的取余操纵,获取各个位的数字 将各个位的数字相加并返回 llSunNum
遍历求出元素和 llSun
对 llSun 和 llSunNum 举行差值运算,然后通过 fabs 函数来举行绝对值操纵,即可获取绝对差,并返回
大概先对 llSun 和 llSunNum 判定一个巨细,用大的减小的,即可获取绝对差,并返回
代码
  1. class Solution {
  2. public:
  3.     int getSun(int num)
  4.     {
  5.         int iRet = 0;
  6.         while (num)
  7.         {
  8.             iRet += num % 10;
  9.             num /= 10;
  10.         }
  11.         return iRet;
  12.     }
  13.     int differenceOfSum(vector<int>& nums) {
  14.         
  15.         long long llSun = 0;
  16.         long long llSunNum = 0;
  17.         for (int i = 0; i < nums.size(); i++)
  18.         {
  19.             llSun += nums.at(i);
  20.             llSunNum += getSun(nums.at(i));
  21.         }
  22.         if (llSun > llSunNum)
  23.             return llSun - llSunNum;
  24.         else
  25.             return llSunNum - llSun;
  26.     }
  27. };
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表