【大数乘法】Multiply Strings
来源:互联网 发布:mac mini 2012 双硬盘 编辑:程序博客网 时间:2024/06/07 01:27
Given two numbers represented as strings, return multiplication of the numbers as a string.
Note: The numbers can be arbitrarily large and are non-negative.
如果要增加难度的话,需要考虑是否带有符号的情况
public class Solution { public String multiply(String num1, String num2) { if(num1 == null || num2 == null) return ""; int len1 = num1.length(); int len2 = num2.length(); int len3 = len1 + len2; int []num3 = new int[len3]; for(int i=len1-1; i>=0; i--){//从个位开始乘 int a = num1.charAt(i) - '0'; for(int j=len2-1; j>=0; j--){ int b = num2.charAt(j) - '0'; num3[len3 - i -j -2] += a * b;//将相应的位对应 } } StringBuilder sb = new StringBuilder(); for(int i=0; i<len3; i++){ int x = num3[i] / 10; int y = num3[i] % 10; if(i+1 < len3) num3[i+1] += x; sb.insert(0, y);//依次从头插入 } while (sb.length() > 0 && sb.charAt(0) == '0') { sb.deleteCharAt(0); } return sb.length() == 0 ? "0" : sb.toString(); }}
0 0
- 【大数乘法】Multiply Strings
- 大数乘法(Multiply Strings)
- Multiply Strings 大数乘法
- 大数的乘法 Multiply Strings
- LeetCode-Multiply Strings实现大数的乘法
- [leetcode] 43 Multiply Strings(模拟大数乘法)
- 43. Multiply Strings(string模拟大数乘法)
- Multiply Strings:乘法运算
- Multiply Strings 大数相乘
- 43. Multiply Strings 大数
- [Leetcode 43 Multiply Strings]大数乘法,回到乘法本身的“最基础”去优化
- Multiply Strings(大整数乘法)
- LeetCode Multiply Strings 大数相乘
- Multiply Strings(大数相乘)
- 43.Multiply Strings 大数相乘
- LeetCode Multiply Strings 高精度乘法C++实现
- Multiply Strings 两个字符串的乘法
- LeetCode Multiply Strings 高精度乘法C++实现
- a simple example of trade-off from fibonacci function to fast-fibonacci function
- OpenCV中混合高斯模型的实现
- Exel也可以生成sql
- vc++ win32项目属性介绍(二、c/c++)
- ZOJ-3714
- 【大数乘法】Multiply Strings
- Lesson_for_java_day06--java中类的定义、方法的定义、键盘的输入方式
- 焦点处理
- Android 国际化以及屏幕适配
- DOS显示不完全
- Java 可变参数
- jsp中9个内置对象与servlet对应关系及四个作用域
- struct大小相关问题
- C与C++动态分配,释放内存的区别