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

104 阅读1分钟

题目:
给你一个正整数数组 nums 。

  • 元素和 是 nums 中的所有元素相加求和。
  • 数字和 是 nums 中每一个元素的每一数位(重复数位需多次求和)相加求和。

返回 元素和 与 数字和 的绝对差。

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

算法:
方法一:模拟

func differenceOfSum(nums []int) int {
    numSum, itemSum := 0, 0
    for i := range nums {
        numSum = numSum + nums[i]
        itemSum = itemSum + getSum(nums[i])
    }
    return abs(numSum- itemSum)
}

func abs(a int) int {
    if a < 0 {
        return -a
    }
    return a
}
func getSum(num int) int {
    ans := 0
    for num > 0 {
        ans = ans + num % 10
        num = num / 10
    }
    return ans
}