Leetcode-43. Multiply Strings
2016-10-04 15:21
344 查看
前言:为了后续的实习面试,开始疯狂刷题,非常欢迎志同道合的朋友一起交流。因为时间比较紧张,目前的规划是先过一遍,写出能想到的最优算法,第二遍再考虑最优或者较优的方法。如有错误欢迎指正。博主首发CSDN,mcf171专栏。
博客链接:mcf171的博客
——————————————————————————————
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.
这个题目最简单的就是用O(n^2)的时间效率,用代码实现我们手动这么算的。效果还不错Your runtime beats 40.75% of java submissions.
博客链接:mcf171的博客
——————————————————————————————
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.
这个题目最简单的就是用O(n^2)的时间效率,用代码实现我们手动这么算的。效果还不错Your runtime beats 40.75% of java submissions.
public class Solution { public String multiply(String num1, String num2) { if(num1.equals("0") || num2.equals("0")) return "0"; if(num1.equals("1")) return num2; if(num2.equals("1")) return num1; int[] results = new int[num1.length() + num2.length()]; for( int i = num1.length() - 1; i >= 0 ; i--) for(int j = num2.length()-1 ;j >= 0 ; j --){ int char2num1 = num1.charAt(i) - '0'; int char2num2 = num2.charAt(j) - '0'; int carryNumber = char2num1 * char2num2 + results[ i + j + 1]; results[i + j + 1] = carryNumber % 10; results[i + j ] = results[i + j] + carryNumber / 10; } StringBuffer sb = new StringBuffer(""); for(int i = 0 ; i< results.length ; i ++) { if (i == 0 && results[i] == 0) continue; sb.append(results[i]); } return sb.toString(); } }
相关文章推荐
- Leetcode43. Multiply Strings
- Leetcode||43. Multiply Strings
- leetcode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- [Leetcode] 43. Multiply Strings 解题报告
- LeetCode | 43. Multiply Strings大数相乘
- LeetCode 43. Multiply Strings
- LeetCode *** 43. Multiply Strings
- 个人记录-LeetCode 43. Multiply Strings
- 【LeetCode】43. Multiply Strings 大数相乘算法
- leetcode题解-71. Simplify Path && 43. Multiply Strings
- LeetCode 43. Multiply Strings
- leetcode: 43. Multiply Strings
- 43. Multiply Strings leetcode python 2016 new season
- leetcode_[python/C++逐步深入] 43. Multiply Strings_(大数乘法分析)
- Leetcode 43. Multiply Strings
- <LeetCode OJ> 43. Multiply Strings
- [leetcode]43. Multiply Strings
- leetcode-43. Multiply Strings
- leetcode 43. Multiply Strings