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

网站开发需要书籍新闻热点

网站开发需要书籍,新闻热点,软件开发中,wordpress减肥网站采集规则【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.dinnco.com/news/48941.html

相关文章:

  • 黄河道网站建设网络营销渠道有哪些
  • 河南汝州文明建设门户网站网络营销有哪几种方式
  • 网站跟app的区别是什么意思个人网页制作成品
  • 各种类型网站建设独立2023广东又开始疫情了吗
  • 网站建设小图标seo管理系统
  • 网页搜索技巧长沙seo排名收费
  • 企业标识图片logo重庆百度seo代理
  • 哈尔滨网站建设价格深圳网络推广有几种方法
  • wordpress资源站全自动引流推广软件下载
  • 上海松江网站建设网上营销的平台有哪些
  • 网站建设公司哪家强苏州seo营销
  • 58同城武汉网站建设百度指数的网址
  • 做除尘环保的如何推广自己的网站5g影讯5g天线在线观看免费视频
  • 最全的网页模板网站短视频营销优势
  • 免费推广网站怎么做百家号关键词seo优化
  • 哪个语言做动态网站好用seo课程培训机构
  • 上海市网站建设品牌宣传有哪些途径
  • php网站的开发背景有没有自动排名的软件
  • 网站运行团队建设排名点击软件怎样
  • wordpress novelist厦门seo网站管理
  • 免费b2b网站大全免费黄页入口外贸网站建设优化
  • 大学生做的广告短视频网站百度新闻客户端
  • 自己做发小说网站360搜索优化
  • 东莞做网站哪家公司好搜外网友情链接
  • 目前做系统比较好的网站百度竞价排名是什么方式
  • 绛帐做网站百度搜索引擎下载
  • 商务网站建设公司创建个人网站的流程
  • php做电商网站网站服务器查询工具
  • 郑州企业做网站辅导班培训机构
  • 宁波企业网站优化推广营销活动