43. Multiply Strings
Given two non-negative integers
num1and
num2represented as strings, return the product of
num1and
num2.
Note:
- The length of both
num1
andnum2
is < 110. - Both
num1
andnum2
contains only digits0-9
. - Both
num1
andnum2
does not contain any leading zero. - You must not use any built-in BigInteger library or convert the inputs to integer directly
此题考查数学和数组的结合,直接上代码:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 }public class Solution {
public String multiply(String num1, String num2) {
int m = num1.length();
int n= num2.length();
int[] pos = new int[m+n];
for(int i=m-1;i>=0;i--){
for(int j=n-1;j>=0;j--){
int p1 = i+j;
int p2 = i+j+1;
int mul = (num1.charAt(i)-'0')*(num2.charAt(j)-'0');
int sum = pos[p2]+mul;
pos[p2]= sum%10;
pos[p1] = sum/10+pos[p1];
}
}
StringBuilder sb = new StringBuilder();
for(int i:pos){
if(!(i==0&&sb.length()==0)){
sb.append(i);
}
}
return sb.length()==0?"0":sb.toString();
}
}
- 递归程序复杂度计算->主定理
- POJ 2187 Beauty Contest [凸包 旋转卡壳]
- HDU 3045 Picnic Cows
- (树)判断二叉树是否为BST
- SQLite事务与自增深度分析
- PAT_A 1015. Reversible Primes (20)
- Android 屏幕录制命令adb screenrecord
- Android 获取GPS速度
- Android 使用SVG动画
- SQL Server事务、隔离级别详解(二十九)
- 在ListView中增加HeaderView和FootView
- 关于Wampserver软件安装后输入localhost无法加载页面的原因
- 线性代数学习笔记(三)
- JavaScript中的深度克隆
- N26-第三周作业
- how to read openstack code: Neutron architecture
- SpringBoot缓存注解学习笔记之Redis
- PAT1063. 计算谱半径(20)
- Android编程之通知栏的用法小结
- 我的5.0护眼方案