LeetCode-in-Java

2535. Difference Between Element Sum and Digit Sum of an Array

Easy

You are given a positive integer array nums.

Return the absolute difference between the element sum and digit sum of nums.

Note that the absolute difference between two integers x and y is defined as |x - y|.

Example 1:

Input: nums = [1,15,6,3]

Output: 9

Explanation:

The element sum of nums is 1 + 15 + 6 + 3 = 25.

The digit sum of nums is 1 + 1 + 5 + 6 + 3 = 16.

The absolute difference between the element sum and digit sum is |25 - 16| = 9.

Example 2:

Input: nums = [1,2,3,4]

Output: 0

Explanation:

The element sum of nums is 1 + 2 + 3 + 4 = 10.

The digit sum of nums is 1 + 2 + 3 + 4 = 10.

The absolute difference between the element sum and digit sum is |10 - 10| = 0.

Constraints:

Solution

public class Solution {
    private int getsum(int n) {
        int sum = 0;
        while (n > 0) {
            int r = n % 10;
            sum += r;
            n = n / 10;
        }
        return sum;
    }

    public int differenceOfSum(int[] nums) {
        int eleSum = 0;
        int digitSum = 0;
        for (int j : nums) {
            if (j >= 10) {
                int sumC = getsum(j);
                digitSum += sumC;
            } else {
                digitSum += j;
            }
        }
        for (int num : nums) {

            eleSum += num;
        }
        int max = Math.max(eleSum, digitSum);
        int min = Math.min(eleSum, digitSum);
        return max - min;
    }
}