当前位置: 首页 > news >正文

文章收录网站网络营销师月薪

文章收录网站,网络营销师月薪,做汽配外贸哪个网站,日用品企业网站建设【LetMeFly】2535.数组元素和与数字和的绝对差:模拟 力扣题目链接:https://leetcode.cn/problems/difference-between-element-sum-and-digit-sum-of-an-array/ 给你一个正整数数组 nums 。 元素和 是 nums 中的所有元素相加求和。数字和 是 nums 中每…

【LetMeFly】2535.数组元素和与数字和的绝对差:模拟

力扣题目链接:https://leetcode.cn/problems/difference-between-element-sum-and-digit-sum-of-an-array/

给你一个正整数数组 nums

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

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

注意:两个整数 xy 的绝对差定义为 |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

解题方法:模拟

写一个函数getSum(x)返回整数x在十进制下的每位之和:

int getSum(int x) {int ans = 0;while (x > 0) {ans += x % 10;x /= 10;}return ans;
}

使用两个变量xy分别记录元素之和和元素每一位之和,遍历一遍原始数组即可得到这个值。

最终,返回abs(x - y)即为答案。

  • 时间复杂度 O ( l e n ( n u m s ) × log ⁡ M ) O(len(nums)\times \log M) O(len(nums)×logM),其中 M M M n u m s [ i ] nums[i] nums[i]可取值范围的最大值 2000 2000 2000
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++
class Solution {
private:int getSum(int n) {int ans = 0;while (n) {ans += n % 10;n /= 10;}return ans;}
public:int differenceOfSum(vector<int>& nums) {int x = 0, y = 0;for (int t : nums) {x += t, y += getSum(t);}return abs(x - y);}
};
Go
package mainfunc abs(x int) int {if x >= 0 {return x}return -x
}func getSum(x int) int {ans := 0for x > 0 {ans += x % 10x /= 10}return ans
}func differenceOfSum(nums []int) int {x, y := 0, 0for _, t := range nums {x += ty += getSum(t)}return abs(x - y)
}
Java
class Solution {private int getSum(int t) {int ans = 0;while (t > 0) {ans += t % 10;t /= 10;}return ans;}public int differenceOfSum(int[] nums) {int x = 0, y = 0;for (int t : nums) {x += t;y += getSum(t);}return Math.abs(x - y);}
}
Python
from typing import Listclass Solution:def getSum(self, x: int) -> int:ans = 0while x:ans += x % 10x //= 10return ansdef differenceOfSum(self, nums: List[int]) -> int:x = y = 0for t in nums:x += ty += self.getSum(t)return abs(x - y)

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

Tisfy:https://letmefly.blog.csdn.net/article/details/142568318

http://www.hotlads.com/news/4214.html

相关文章:

  • 个体户 建设网站google官方下载app
  • 企业网站seo多少钱搜索词热度查询
  • 想学网站建设与设计的书籍深圳关键词首页排名
  • 视频背景音乐怎么做mp3下载网站农产品网络营销策划书
  • 宁波外贸网站制作人大常委会委员长
  • 舟山网站建设公司seo关键词推广公司
  • 建站公司可靠吗广州百度竞价托管
  • 网站推广的手段通州区网站快速排名方案
  • 网站公安备案是必须的吗域名大全
  • 酒店网站建设百度竞价点击一次多少钱
  • 如何做商城网站惠州抖音seo
  • 区网站建设在线bt种子
  • 漯河网站建设服务公司企业网站优化的三层含义
  • 网站加载等待如何看待百度竞价排名
  • 上海搬家公司报价怎样给自己的网站做优化
  • 章丘网站建设哪家好怎么自己刷推广链接
  • 做网站推广托管费用网站内容编辑
  • 天津做公司网站软件开发app制作公司
  • 松江做网站高端营销型网站制作
  • 网站建设中404什么意思站长工具查询seo
  • 建筑中级职称查询网站精准营销通俗来说是什么
  • 网站建设中的思想和算法优惠活动推广文案
  • 成都网站建设爱特通制作公司官网多少钱
  • 河北网站建设模板360推广
  • 重庆网站建设百度推广seo常用的优化工具
  • 做外贸网站价位在线培训网站
  • 杭州有做网站汕头网站建设方案维护
  • 自己怎么做外贸英文网站百度销售是做什么
  • hui怎么做网站站长号
  • 大众网泰安疫情最新消息seo搜索优化待遇