Multiply Strings
来源:互联网 发布:网络免费赚钱项目 编辑:程序博客网 时间:2024/06/06 04:40
Given two non-negative integers num1
and num2
represented as strings, return the product of num1
and 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.
解决方案如下:
Remember how we do multiplication?
Start from right to left, perform multiplication on every pair of digits, and add them together. Let's draw the process! From the following draft, we can immediately conclude:
`num1[i] * num2[j]` will be placed at indices `[i + j`, `i + j + 1]`
代码如下:
public class MultiplyStrings {public static void main(String[] args) {System.out.println(multiply("123","456"));}public static String multiply(String num1,String num2){int m = num1.length(),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 mul = (num1.charAt(i)-'0')*(num2.charAt(j)-'0');int p1 = i+j , p2 = i+j+1;int sum = mul +pos[p2];//注意加上上一步的结果System.out.println(pos[p1]+"__"+pos[p2]);pos[p1] += sum/10;pos[p2] = sum%10;}}StringBuilder sb = new StringBuilder();for(int p : pos){if(!(sb.length() == 0 && p==0))sb.append(p);}return sb.length() == 0 ? "0" : sb.toString();}}
阅读全文
0 0
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Anaconda 打开 ipynb 文件并可设置路径
- 链表实现冒泡排序
- 初步理解client/server
- OpenGL蓝宝书源码学习(十三)第六章——OpenGL着色器和着色语言
- Huffman树的实现
- Multiply Strings
- Application Structure 应用结构
- Linux文件编程
- 获取URL参数
- java线程池与五种常用线程池策略使用与解析
- org.apache.ibatis.binding.BindingException spring springMVC mybatis 整合
- 闪回表+查看和修改撤销表空间的信息+闪回表操作语法+闪回表的案例
- Linux 链接命令(ln)
- E/art: No implementation found for int com.baidu.speechsynthesizer