LeetCode | 43. Multiply Strings(大整数乘法)
来源:互联网 发布:备份数据库怎么还原 编辑:程序博客网 时间:2024/06/05 15:21
Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2.
Note:The length of both num1 and num2 is < 110.Both num1 and num2 contains only digits 0-9.Both num1 and num2 does not contain any leading zero.You must not use any built-in BigInteger library or convert the inputs to integer directly.
大整数乘法,6ms AC
#include <iostream>#include <string>using namespace std;string multiply(string num1, string num2){ //i 和 j 相乘的结果是 res 的 (i+j) 位 string str_res = ""; int first = 0; int res[300] = {}; int len1 = num1.length(), len2 = num2.length(); if(len1 < len2) return multiply(num2, num1); int a[120] = {}; int b[120] = {}; for(int i=0;i<len1;i++) a[i] = num1[len1-i-1]-'0'; for(int i=0;i<len2;i++) b[i] = num2[len2-i-1]-'0'; for(int i=0;i<len1;i++) { for(int j=0;j<len2;j++) { res[i+j] += a[i]*b[j]; } } for(int i=0;i<len1+len2+2;i++) { if(res[i] >= 10) { res[i+1] += res[i]/10; res[i] %= 10; } } for(int i=290;i>=0;i--) if(res[i] != 0) { first = i; break; } for(int i=first;i>=0;i--) { str_res += res[i]+'0'; } return str_res;}int main(){ string str1, str2; while(cin>>str1>>str2) { cout<<multiply(str1, str2)<<endl; } return 0;}
阅读全文
1 0
- LeetCode | 43. Multiply Strings(大整数乘法)
- leetcode---Multiply Strings---大整数乘法
- 大整数乘法--leetcode Multiply Strings
- LeetCode-43. Multiply Strings (JAVA)大整数乘法
- Multiply Strings(大整数乘法)
- leetcode-43. Multiply Strings(大整数相乘)
- LeetCode Multiply Strings(大整数相乘)
- LeetCode 43. Multiply Strings(乘法)
- LeetCode-------43. Multiply Strings(字符串的乘法运算)
- [LeetCode]43.Multiply Strings
- LeetCode --- 43. Multiply Strings
- [Leetcode] 43. Multiply Strings
- [leetcode] 43.Multiply Strings
- 43. Multiply Strings LeetCode
- leetcode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- Codeforces Round #420 (Div. 2) C
- ACM ICPC 2010-2011, NEERC, Southern Subregional Contest Problem B. 3D City Model
- 推荐:mysql锁 innodb下的记录锁,间隙锁,next-key锁
- jackson时间格式的处理
- JVM知识点总览-中高级Java工程师面试必备
- LeetCode | 43. Multiply Strings(大整数乘法)
- Opencv学习之角点检测
- (笔记)webpack安装、配置、简单的项目打包、插件介绍
- 名称空间
- au3鼠标拖拽函数MouseClickDrag
- 前端面试题 js篇
- Revit基础之获取元素所有GeometryObject.
- 用node-webkit把web应用打包成桌面应用
- dataTables使用心得