題目描述
給你一個正整數數組 nums 。
元素和 是 nums 中的所有元素相加求和。
數字和 是 nums 中每一個元素的每一數位(重復數位需多次求和)相加求和。
返回 元素和 與 數字和 的絕對差。
注意:兩個整數 x 和 y 的絕對差定義為 |x - y| 。
示例 1:
輸入:nums = [1,15,6,3]
輸出:9
解釋:
nums 的元素和是 1 + 15 + 6 + 3 = 25 。
nums 的數字和是 1 + 1 + 5 + 6 + 3 = 16 。
元素和與數字和的絕對差是 |25 - 16| = 9 。
示例 2:
輸入:nums = [1,2,3,4]
輸出:0
解釋:
nums 的元素和是 1 + 2 + 3 + 4 = 10 。
nums 的數字和是 1 + 2 + 3 + 4 = 10 。
元素和與數字和的絕對差是 |10 - 10| = 0 。
提示:
1 <= nums.length <= 2000
1 <= nums[i] <= 2000
算法分析
簡單模擬
完整代碼
class Solution {
public:int differenceOfSum(vector<int>& nums) {vector<int>ans;for(auto i:nums){while(i!=0){int t=i%10;ans.push_back(t);i/=10;}}int sum=0;//數字和int sum1=0;//元素和for(auto i:ans)sum+=i;for(auto i:nums)sum1+=i; return abs(sum1-sum);}
};