2535. 数组元素和与数字和的绝对差(24.9.26)
题目
问题描述:
给你一个正整数数组 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) {
int sum1=0,sum2=0;
for(int &x:nums){
sum1+=x;
while(x){
sum2+=x%10;
x/=10;
}
}
return abs(sum1-sum2);
}
};
原文地址:https://blog.csdn.net/qq_60624992/article/details/142551882
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!