43. Multiply Strings
来源:互联网 发布:i like it what is it 编辑:程序博客网 时间:2024/06/08 16:30
这是一套实现大数的乘法,把大数的加法也加在里面了,首先来看!
这里十分清楚乘法的数学分析,在这里不多讲解,得到一个int【num1.length()+num2.length()】的数组;
然后进行加法运算,设置一个carrybit(进位数)=数组的数%10;
最后从第一个不为0的数放入string中。
最后考虑“0”的情况,string等于“0”应该用string.equal(“0”)表示。具体代码如下:
public static String multiply(String num1, String num2) { if (num1.equals("0")||num2.equals("0")) return "0"; else { int len1=num1.length(); int len2=num2.length(); int[] temp=new int[len1+len2]; for (int i = len1-1; i >=0; i--) { for (int j = len2-1; j >=0; j--) { temp[i+j+1]+=(num1.charAt(i)-'0')*(num2.charAt(j)-'0'); } } int carrybit=0; for (int i = temp.length-1; i >=0; i--) { temp[i]+=carrybit; carrybit=temp[i]/10; temp[i]=temp[i]%10; } int left=0; while (left<temp.length&&temp[left]==0) { left++; } StringBuffer sb=new StringBuffer(); for (; left < temp.length; left++) { sb.append(temp[left]); } return sb.toString(); } }
0 0
- [LeetCode]43.Multiply Strings
- LeetCode --- 43. Multiply Strings
- [Leetcode] 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- [leetcode] 43.Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings LeetCode
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- leetcode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- 使用MFC过程中遇到的问题以及解决方法(一)
- 1.首先是环境搭建adt
- VS2013常用快捷键
- SQL集合函数中case when then 使用技巧
- 使用jQuery插件时避免重复引入jquery.js文件(jQuery 重复加载错误以及修复方法)
- 43. Multiply Strings
- 幻读和不可重复读的区别
- 深入理解函数内部原理(5)——闭包
- 虚继承下对象的内存分布
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- 对于 RxJava2 的 认知与直接应用(一)
- codeforces Educational Round 16 E. Generate a String
- 关于RabbitMQ的远程ip访问的解决方法
- Token