首页 > 试题广场 >

大数加法

[编程题]大数加法
  • 热度指数:194194 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。

数据范围:,字符串仅由'0'~‘9’构成
要求:时间复杂度
示例1

输入

"1","99"

输出

"100"

说明

1+99=100       
示例2

输入

"114514",""

输出

"114514"
头像 Maokt
发表于 2021-07-06 13:58:57
精华题解 算法思想一:模拟法 解题思路: 算法流程:      设定 i,j 两指针分别指向 s,t 尾部,模拟人工加法;     计算进位: 计算 carry = tmp // 10,代表当前位相加是 展开全文
头像 Peterliang
发表于 2021-07-15 17:11:58
精华题解 题意分析 这个题目让我们求出两个很大很大的数的和。 思路分析 思路一 用Python 我们知道,目前对于大多数高级语言,都存在着对高精度的处理。所以我们直接使用Python就行了。 代码如下** 需要遍历字符串a和b的每个字符,时间复杂度为O(lena+lenb) 需要存储a和b字符串,空 展开全文
头像 牛一霸
发表于 2021-07-03 12:13:54
精华题解 题目:大数加法 描述:以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。 (字符串长度不大于100000,保证字符串仅由'0'~'9'这10种字符组成) 示例1:输入:"1","99",返回值:"100&quo 展开全文
头像 幸福的火龙果在干饭
发表于 2021-07-11 21:49:37
精华题解 一、题目描述 NC1大数加法题目大意:以字符串形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回注意审题:字符串长度不大于100000,保证字符串仅由'0'~'9'这10种字符组成(说明算法的之间复杂度应该控制在线性,且两个字符串表示的数是非负数) 二、算法(模拟) 解题思路 本题是经典 展开全文
头像 牛客题解官
发表于 2022-04-22 12:59:24
精华题解 题目主要信息: 以字符串形式读入两个正整数,返回其相加结果 结果也是字符串形式 字符串只有数字0-9 举一反三: 学习完本题的思路你可以解决如下题目: BM11. 链表相加(二) 方法:模拟法(建议使用) 思路: 大整数相加,就可以按照整数相加的方式,从个位开始,逐渐往上累加,换到字符串中就是从 展开全文
头像 leaves0924
发表于 2021-07-08 11:21:19
精华题解 题目描述 以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。(字符串长度不大于100000,保证字符串仅由'0'~'9'这10种字符组成)示例1输入:"1","99"返回值:"100"说明:1+99=100 题目分析 展开全文
头像 数据结构和算法
发表于 2020-12-21 17:35:58
1,从尾部插入 实际上这道题求的是两个字符串相加,我们就用两个很短的字符串"12367"+"89"为例画个图来看下是怎么计算的 它相当于两个字符串从最右边开始相加,比如我们要计算s字符串的最右边的那个数字和t字符串最右边的那个字符相加 int i = s.length() - 1, j = t.l 展开全文
头像 玩物尚智
发表于 2020-12-11 20:51:19
哈哈,大学时有个朋友调侃说,他学java就是用来刷大数类型的题目的,好吧,那先用java的BigInteger直接无脑过这道题。Java代码: import java.math.BigInteger; import java.util.*; public class Solution { 展开全文
头像 HDU-M_gician
发表于 2021-03-03 14:41:46
class Solution { public: void add(string &ans,char x,char y,int &d) { int res = x - '0' + y - '0' + d; ans += (res % 1 展开全文
头像 为什么机器不学习
发表于 2021-01-26 18:53:43
用BigInteger是投机取巧的做法,面试时这么干会被面试官喷。这题考察的是大数计算器的思想,类似的题还有lc 2(链表两数相加)。只需要想象一下我们在做加法时,都做了什么事情,其实只有两种情况:需要进位和不需要进位。所谓进位,无非是当前位相加大于等于10的话,就在下一位加1。那么我们就可以用一个 展开全文
头像 黄炜Harwy
发表于 2021-03-06 14:01:38
两个大数之和 借助StringBuilder逐位处理 两个大数相加可以看做两个字符串从尾部开始逐位转int后求和,利用StringBuilder.insert(0, add)加上StringBuilder.toString()或者StringBuilder.append(add)加上StringBu 展开全文
头像 LaN666
发表于 2020-11-25 20:00:59
思路: 先将两个字符串反转,然后对齐字符串的每一位,怎么个对齐法呢?就是反转后的字符串,短的字符串在最后面补0,补到和长字符串长度一样为止。然后再将字符串的每一位相加,相加时注意每一次都要加上进位数,进位数再前一位可以算出来,当每一位都加完的时候,此时需要一个判断,此时的进位数是否为0,如果不为0. 展开全文
头像 IMcsevennn
发表于 2021-11-03 23:53:58
/**  * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可  * 计算两个数之和  * @param s string字符串 表示第一个整数  * @param t string字符串 表示第二个整数  * @return 展开全文
头像 Jason1995
发表于 2020-12-03 20:55:26
90ms public class Solution { public String solve (String s, String t) { char[] char1 = s.toCharArray(); char[] char2 = t.toCharArr 展开全文
头像 小洋芋热爱NLP
发表于 2021-09-15 10:25:22
- 题目描述:- 题目链接:https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475?tpId=188&&tqId=38569&rp=1&ru=/activity/oj&qru=/ta 展开全文
头像 派仔
发表于 2021-06-23 17:10:01
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算两个数之和 * @param s string字符串 表示第一个整数 展开全文