Techieindoor

Leetcode 2535: Difference Between Element Sum and Digit Sum of an Array Solution

Here, we will see how to solve Difference Between Element Sum and Digit Sum of an Array Solution of leet code 2535 problem.

You are given a positive integer array nums.

You have to 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 = [2,16,7,4]
Output: 9
Explanation: 
The element sum of nums is 2 + 16 + 7 + 4 = 29.
The digit sum of nums is 2 + 1 + 6 + 7 + 4 = 20.
The absolute difference between the element sum and digit sum is |29 - 20| = 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.

Approach:

Difference Between Element Sum and Digit Sum of an Array Solution in C++ and Go:

Here, we will be solving problem in multiple ways with code.

C++ code 1:

class Solution {
public:
    int differenceOfSum(vector<int>& nums) {
        int total_sum = 0;
        int total_digit_sum = 0;
        
        for(int i = 0; i < nums.size(); i++) {
            // Store all the array elements sum
            total_sum += nums[i];
            
            int n = nums[i], digit_sum = 0;
            
            // Store the digit sums of each elemenet of array
            while(n) {
                digit_sum += n % 10;
                n /= 10;
            }
            total_digit_sum += digit_sum;
        }
        // Get the diff between total sum total digit sum
        return abs(total_digit_sum - total_sum);
    }
};

Go code 1:

func differenceOfSum(nums []int) int {
    var total_sum = 0;
    var total_digit_sum = 0;
        
    for i := 0; i < len(nums); i++ {
        // Store all the array elements sum
        total_sum += nums[i];
            
        var n, digit_sum = nums[i], 0;
            
        // Store the digit sums of each elemenet of array
        for n != 0 {
            digit_sum += n % 10;
            n /= 10;
        }
        total_digit_sum += digit_sum;
    }
    // Get the diff between total sum total digit sum
    return int(math.Abs(float64(total_digit_sum - total_sum)))
}

Output:

Input: nums = [2,16,7,4]
Output: 9

Time complexity: O(n)

Space complexity: O(1)

To check more leetcode problem’s solution. Pls click given below link:

Golang tutorial

https://www.techieindoor.com/category/leetcode/

https://www.techieindoor.com/category/interview-questions/

Exit mobile version