首页 > 其他分享 >LeetCode 2535[数组元素和与数字和的绝对差值]

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

时间:2024-11-08 09:57:07浏览次数:1  
标签:10 数字 int llSunNum 差值 llSun LeetCode 2535

题目

链接

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

详情

实例

提示

题解

思路

遍历容器,依次求出数字和与元素和,然后求差值:

通过 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

相关文章

  • LeetCode HOT 100 记录
    目录230.二叉搜索树中第K小的元素-力扣(LeetCode)199.二叉树的右视图-力扣(LeetCode)230.二叉搜索树中第K小的元素-力扣(LeetCode)相当于把二叉搜索树从小到大排序,而二叉搜索树有一个特点,就是顺序左子树<根节点<右子树,因此可以考虑使用中序遍历/***Definitionfo......
  • 代码随想录算法训练营第九天|LeetCode151.翻转字符串里的单词、卡码网:55.右旋转字符串
    前言打卡代码随想录算法训练营第49期第九天︿( ̄︶ ̄)︿首先十分推荐学算法的同学可以先了解一下代码随想录,可以在B站卡哥B站账号、代码随想录官方网站代码随想录了解,卡哥清晰易懂的算法教学让我直接果断关注,也十分有缘和第49期的训练营大家庭一起进步。今日题目LeetCode151翻转字......
  • LeetCode 1137[第N个泰波那契数]
    题目链接LeetCode1137[第N个泰波那契数]详情实例实例1实例2提示题解思路一[递归]当n为0,1,2时,直接返回对应的值当n大于2时,开始用f(n+3)=f(n)+f(n+1)+f(n+2)来递归求值代码一[此代码在力扣会超出时间限制]classSolution{public:inttrib......
  • LeetCode LCR135[报数]
    题目链接LeetCodeLCR135[报数]详情实例题解思路通过pow函数对10进行幂运算,来获取报数范围然后循环遍历通过push_back方法将数字加入到容器内代码classSolution{public:vector<int>countNumbers(intcnt){vector<int>iRetVec;......
  • 【LeetCode】返回链表的中间结点、删除链表的倒数第 N 个结点
    主页:HABUO......
  • LeetCode3270[求出数字答案]
    题目链接LeetCode3270[求出数字答案]详情实例实例1实例2实例3提示题解思路先依次取出num1,num2,num3的每位的位数  取最高位的时候,用数字除以1000,然后取10的余数  取第三位的时候,用数字除以100,然后取10的余数  取第二位的时候,用数字除以10,然后取10的余数......
  • LeetCode1672[最富有客户的资产总量]
    题目链接LeetCode1672[最富有客户的资产总量]详情实例实例1实例2实例3提示题解思路先定义一个最大值iMax设置为负值,保证资产为0时也可以被存储再一次遍历每个人的所有资产,求和iSum之后比较iSum和iMax的大小如果iSum大于iMax则将iSum的值赋给iMax......
  • LeetCode412[Fizz Buzz]
    题目链接LeetCode412[FizzBuzz]详情实例实例1实例2实例3提示题解思路定义一个容器sRetVec,依次遍历每一个数如果可以被3和5同时整除,则在容器内加入一个元素"FizzBuzz",即1==((0==(num%3))&&(0==(num%5)))成立,sRetVec.push_back("FizzBuzz")继续遍......
  • LeetCode9[回文数]
    题目链接LeetCode9[回文数]详情实例提示题解思路将数字转换为字符串然后将此字符串反转将反转之后的字符串和反转前的字符串比较若相等,则为回文数,否则不是回文数代码classSolution{public:boolisPalindrome(intx){charbuff[100]=......
  • LeetCode3264[K次乘运算后的最终数组I]
    题目链接LeetCode3264[K次乘运算后的最终数组I]详情实例实例1实例2提示题解思路先找到最小值然后对最小值进行操作最后输出容器代码classSolution{public:intfindVecMinNumIndex(vector<int>nums)//找出最小值的下标{inti=0,iMin......