字符串相乘(算法)

原创 2015年07月08日 20:22:11

给出两个字符串表示的正整数,求其乘积,返回其乘积的字符串。


public string multiply(String num1,String num2)
{
	int len1 = num1.length ,len2 = num2.length ;
	int [] num = new int[len1 + len2];
	int n = num.length;
	for(int i = len1 - 1;i >= 0;i--)
		for(int j = len2 - 1; j >= 0; j--)
		{
			num[i + j + 1] += (num1.charAt(i) - '0' ) * (num2.charAt(j) - '0');
		}
	int carry = 0;
	for(int i = n - 1; i >= 0; i--)
	{
		num[i] += carry;
		carry = num[i] / 10;
		num[i] = num[i] % 10;
	}
	String result = "";
	boolean firstNonzero = false;
	for(int i = 0; i < n; i++)
	{
		if(!firstNonzero && num[i] == 0)
			continue;
		else
		{
			result += num[i];
			firstNonzero = true;
		}
	}
	if( result.equals("")) return "0";
	return result;
}


面试:字符串: 字符串相乘

题目给出两个字符串的正整数,求其乘积,返回其乘积的字符串的表示算法 num1*num2(N*M)的结果最多是N+M位 先乘, 再累加 public class Solution{ publi...
  • mijian1207mijian
  • mijian1207mijian
  • 2016年06月06日 18:33
  • 616

Multiply Strings 两个字符串代表数字相乘@LeetCode

这道题一开始觉得很麻烦,后来参考了http://leetcodenotes.wordpress.com/2013/10/20/leetcode-multiply-strings-%E5%A4%A7%E...
  • hellobinfeng
  • hellobinfeng
  • 2013年12月17日 09:28
  • 12537

整数相乘的分治算法

引言 很久很久以前,有人是这样算乘法的:x*y,好经典~ 有人是这样算复数乘法的:(a+bi)(c+di)=ac-bd+(bc+ad)i,实数乘法进行了四次,这种普通乘法时间复杂度是O(n^2)。...
  • Joseph_Cherry
  • Joseph_Cherry
  • 2016年10月25日 23:27
  • 480

两个字符串相乘

题目: 给定两个用字符串表示的数字,返回用字符串表示的这两个数字的乘积。 注:数字是一个正整数,但有可能很大。 分析:既然数字有可能很大,那么就不能直接将两个数字相乘,这样有可能会导致溢出,...
  • chunxia75qin
  • chunxia75qin
  • 2013年04月26日 16:06
  • 1255

【字符串】大数的乘法(包括浮点数)

一.大数乘法 我们知道,要运算两个数的乘法,c、c++语言里有专门的运算符*。但是当两个数超过一定的范围时,用普通的运算符会产生溢出,并不能得到正确的结果。如何进行运算呢?       首先,要想...
  • a781558066
  • a781558066
  • 2015年04月22日 11:21
  • 2780

python-序列(字符串)乘法示例

序列示例# coding=utf-8 # 以正确的宽度在居中的“盒子”内打印一个句子 # 注意,整数除法运算符(//)只能用在Python2.2以及后续版本,在之前的版本中,只使用普通除法(/)sen...
  • hehe_win
  • hehe_win
  • 2016年12月02日 14:58
  • 1499

超长整数字符串乘法的算法

//*******************************////超长整数字符串乘法的算法  ////在vs2005下调试通过   ////**************************...
  • buaa343sdk
  • buaa343sdk
  • 2008年04月02日 21:39
  • 272

大数相乘以及其高效算法

测试用例: 999 999 998001 999999999999      999999999999 999999999998000000000001 下面分析下999*999    6...
  • HONDELY
  • HONDELY
  • 2011年11月05日 14:44
  • 12598

JavaScript中的字符串乘法

原文原文地址:http://www.davidflanagan.com/2009/08/string-multipli.html原作者:David FlanaganIn Ruby, the "*" o...
  • redraiment
  • redraiment
  • 2009年08月18日 15:21
  • 45234

python实现两个任意字符串乘积

题目: 给定两个任意数字组成的字符串,求乘积,字符可能很大,但是python具有无限精度的整数在这里就不需要考虑这个问题了 下面是简单的实现: #!usr/bin/env pyt...
  • Together_CZ
  • Together_CZ
  • 2017年08月06日 21:05
  • 672
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符串相乘(算法)
举报原因:
原因补充:

(最多只允许输入30个字)