题目

对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。
给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。
示例 1:
输入:A = [1,2,0,0], K = 34
输出:[1,2,3,4]
解释:1200 + 34 = 1234
示例 2:
输入:A = [2,7,4], K = 181
输出:[4,5,5]
解释:274 + 181 = 455
示例 3:
输入:A = [2,1,5], K = 806
输出:[1,0,2,1]
解释:215 + 806 = 1021
示例 4:
输入:A = [9,9,9,9,9,9,9,9,9,9], K = 1
输出:[1,0,0,0,0,0,0,0,0,0,0]
解释:9999999999 + 1 = 10000000000
提示:
1 <= A.length <= 10000
0 <= A[i] <= 9
0 <= K <= 10000
如果 A.length > 1,那么 A[0] != 0
来源:力扣(LeetCode)

解题思路

  这个题乍一看十分简单,可以直接转换掉数组然后再转换回来。

class Solution:def addToArrayForm(self, num: List[int], k: int) -> List[int]:p=0s=0for i in num[::-1]:s+=i*10**pp+=1s+=ktemp=list(str(s))for i in range(len(temp)):temp[i]=int(temp[i])return temp


  但是这样做会导致开销变大,耗费时间。所以对于这种加法题还是老老实实模拟的好。

class Solution:def addToArrayForm(self, num: List[int], k: int) -> List[int]:k=str(k)n1=len(num)n2=len(k)#补齐‘0’if n1>n2:k='0'*(n1-n2)+kelse:for i in range(n2-n1):num.insert(0,0)flag=0  #进位标志for i in range(len(k))[::-1]:if num[i]+int(k[i])+flag<10:num[i]=num[i]+int(k[i])+flagflag=0else:num[i]=(num[i]+int(k[i])+flag)%10flag=1if flag==1:num.insert(0,1)return num

LeetCode简单题之数组形式的整数加法相关推荐

  1. 989. 数组形式的整数加法

    链接:989. 数组形式的整数加法 题解: class Solution {public:vector<int> addToArrayForm(vector<int>& ...

  2. 每日一题:leetcode989.数组形式的整数加法

    题目描述 题目分析 题目非常简单,但是我还是wa了几发,对不起,我太菜了.我的想法是把K转换为数组然后用大整数加法处理.但是因为太久没有写了导致写了好久. class Solution {public ...

  3. Leetcode 989. 数组形式的整数加法 (每日一题 20210826 同类型题)

    对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组.例如,如果 X = 1231,那么其数组形式为 [1,2,3,1].给定非负整数 X 的数组形式 A,返回整数 X+K 的数 ...

  4. Leetcode每日一题:989.add-to-array-form-of-integer(数组形式的整数加法)

    这道题还是要写一下 思路:首先想到的就是把数组转换成数字,直接相加,因为A的长度只有10000,但后来明显越界了,行不通:后来想到把K逐位加到A上,但很复杂,最终采用以下方法: vector<i ...

  5. LeetCode简单题之数组异或操作

    题目 给你两个整数,n 和 start . 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length . 请返回 nums 中所有元素 ...

  6. LeetCode简单题之数组序号转换

    题目 给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号. 序号代表了一个元素有多大.序号编号的规则如下: 序号从 1 开始编号. 一个元素越大,那么序号越大.如果两个元素相等, ...

  7. LeetCode简单题之数组的度

    题目 给定一个非空且只包含非负数的整数数组 nums,数组的 度 的定义是指数组里任一元素出现频数的最大值. 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度. ...

  8. LeetCode简单题之数组元素积的符号

    题目 已知函数 signFunc(x) 将会根据 x 的正负返回特定值: 如果 x 是正数,返回 1 . 如果 x 是负数,返回 -1 . 如果 x 是等于 0 ,返回 0 . 给你一个整数数组 nu ...

  9. LeetCode简单题之数组中两元素的最大乘积

    题目 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值. 请你计算并返回该式的最大值. 示例 1: 输入:nums = ...

最新文章

  1. Vim - 容易忘记但又比较常用的操作 (之一)
  2. 第一章:1.2.3 LTI系统研究方法与本章小结
  3. 记录一次Socket异常:java.net.SocketException: Connection reset
  4. boost::geometry::model::box用法的测试程序
  5. Docker Centos 7.X部署Mysql并修改编码
  6. 解决react-native 运行报错:Entry, :CFBundleIdentifier, Does Not Exist
  7. 实验5: IOS的升级与恢复
  8. json字符串与json对象之间的转换
  9. matlab图像边缘检测分析
  10. 【LeetCode笔记】剑指 Offer 57- II. 和为 s 的连续正数序列(Java、滑动窗口、二刷)
  11. android10无法获取ssid,解决Android 8.0和9.0无法获取SSID (unknow ssid)
  12. ROS学习笔记(一)——软件版本的选择
  13. UVALive - 7147 (数学)
  14. windows系统设置定时开关机的方法
  15. 本地硬盘如何重装系统Win11?
  16. Flutter仿学习强国填空题
  17. 合并两个有序数组,合并之后保持有序
  18. 软件设计模式-门面设计模式
  19. tpshop商城web测试环境
  20. 虚拟机下装msdos操作系统,再安装borlandc

热门文章

  1. Golang TDD实践报告:快速排序Quick Sort
  2. gcc 和 g++ 的联系和区别,使用 gcc 编译 c++
  3. 2022-2028年中国阻燃母料行业市场深度分析及发展规模预测报告
  4. colab找不到模块 no name
  5. 函数的渐近的界阶的比较
  6. pytorch之Tensor与Variable的区别
  7. java锁(公平锁和非公平锁、可重入锁(又名递归锁)、自旋锁、独占锁(写)/共享锁(读)/互斥锁、读写锁)
  8. 模型压缩95%:Lite Transformer,MIT韩松等人
  9. OPPO小游戏vConsole开启方法
  10. C++ string字符串的比较是否相等