43. Multiply Strings
2016-11-17 12:35
218 查看
本来想循环遍历两个字符串,求出乘积再加上i+j个0,再不断累加到rst。
超时
在讨论区看到有个模拟乘法运算的程序
Question
Editorial Solution
My Submissions
Total Accepted: 81803
Total Submissions: 320475
Difficulty: Medium
Contributors: Admin
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.
Converting the input string to integer is NOT allowed.
You should NOT use internal library such as BigInteger.
超时
在讨论区看到有个模拟乘法运算的程序
43. Multiply Strings
Question
Editorial Solution
My Submissions
Total Accepted: 81803
Total Submissions: 320475
Difficulty: Medium
Contributors: Admin
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.
Converting the input string to integer is NOT allowed.
You should NOT use internal library such as BigInteger.
public class Solution { public String inverse(String s) { return new StringBuilder(s).reverse().toString(); } public String multiply(String num1, String num2) { char[] cs1 = inverse(num1).toCharArray(); char[] cs2 = inverse(num2).toCharArray(); int[] mul = new int[cs1.length+cs2.length]; for(int i=0; i<cs1.length; i++) { for(int j=0; j<cs2.length; 4000 j++) { int t = (cs1[i]-'0') * (cs2[j]-'0'); int p1 = i+j, p2=i+j+1; int sum = t + mul[p1]; mul[p1] = sum%10; mul[p2] += sum/10; } } StringBuilder sb = new StringBuilder(); int pos = mul.length - 1; while(pos>=0 && mul[pos] == 0) pos --; for(int i=pos; i>=0; i--) sb.append(mul[i]); return sb.length() == 0 ? "0" : sb.toString(); } }
相关文章推荐
- LeetCode Problem 43: Multiply Strings
- [3]43. Multiply Strings(Java)
- leetcode 43:Multiply Strings
- 【leetcode 43】--------Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- TODO: FTPrep: 43 Multiply Strings
- LeetCode 43: Multiply Strings
- LeetCode-43-Multiply Strings 模拟
- 43. Multiply Strings
- [*leetcode 43] Multiply Strings
- leetcode做题总结,题目Multiply Strings 43
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- 43.Multiply Strings
- [Leetcode]#43 Multiply Strings
- leetcode-43 Multiply Strings