'''
今天分享的題目非常有意思:大數(shù)(字符串存儲)相乘str1*str2
m位數(shù)字*n位數(shù)字最多只有m+n位
reverse_str1=str1[::-1]
reverse_str2=str2[::-1]
tmp_res[i+j]=reverse_str1[i]*reverse_str1[j]
res[i] = tmp_res[i] % 10
tmp_res[i+1] += tmp_res[i]/10
-----------------------------------------------
input: num1, num2 = '91', '91'
tmp_res = [1,18,81,0]
res = [1,8,2,8]
'''
class Solution(object):
def multiply(self, num1, num2):
"""
:type num1: str
:type num2: str
:rtype: str
"""
lookup = {"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9} # 節(jié)省查找時間
if num1 == '0' or num2 == '0':
return '0'
num1, num2 = num1[::-1], num2[::-1] #將字符串逆序便于從最低位開始計算
tmp_res = [0 for i in range(len(num1)+len(num2))]
for i in range(len(num1)):
for j in range(len(num2)):
tmp_res[i+j] += lookup[num1[i]] * lookup[num2[j]]
res = [0 for i in range(len(num1)+len(num2))]
for i in range(len(num1)+len(num2)):
res[i] = tmp_res[i] % 10
if i < len(num1)+len(num2)-1: # 避免tmp_res[i+1]越界
tmp_res[i+1] += tmp_res[i]//10
return ''.join(str(i) for i in res[::-1]).lstrip('0') # 去掉最終結(jié)果頭部可能存在的‘0’
leetcode43. 字符串相乘
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門遮斥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人扇丛,你說我怎么就攤上這事术吗。” “怎么了帆精?”我有些...
- 文/不壞的土叔 我叫張陵较屿,是天一觀的道長。 經(jīng)常有香客問我卓练,道長隘蝎,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任襟企,我火速辦了婚禮嘱么,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘顽悼。我一直安慰自己曼振,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布蔚龙。 她就那樣靜靜地躺著冰评,像睡著了一般。 火紅的嫁衣襯著肌膚如雪木羹。 梳的紋絲不亂的頭發(fā)上甲雅,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盅惜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起忌穿,我...
- 正文 年R本政府宣布,位于F島的核電站狡逢,受9級特大地震影響宁舰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奢浑,卻給世界環(huán)境...
- 文/蒙蒙 一蛮艰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雀彼,春花似錦壤蚜、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至实柠,卻和暖如春水泉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 實現(xiàn)如下函數(shù):class Solution {public int soluition(String A, Str...
- 這么簡單的使用梅肤,每次用的時候都想不起來啊司蔬,是不是要拖出去打死? 1姨蝴、截取字符串 2俊啼、匹配字符串 3败明、分隔字符串 4...
- 1.截取字符串 NSString*string =@"sdfsfsfsAdfsdf"; string = [str...
- 十字路口堵車和肝氣郁結(jié) 昨天群里小伙伴說屏轰,指甲尖上有血淤斑點,再拍了一張照片上來一看憋飞,指甲上有明顯的豎形型紋霎苗。問這...