問題是leetcode上的一道算法題。https://oj.leetcode.com/problems/two-sum/我用的是python來寫的,但是總是提示TimeLimitExceeded錯(cuò)誤,當(dāng)出現(xiàn)一個(gè)大數(shù)組的時(shí)候。這是我的解決方案。deftwoSum(num,target):foriinrange(0,len(num)):num1=num[i]num2=target-num1ifnum2innumand(i+1)!=num.index(num2)+1:return(i+1,num.index(num2)+1)不知道為什么是報(bào)錯(cuò)。這是我再網(wǎng)上看的別人的方法。deftwoSum(self,num,target):processed={}foriinrange(0,len(num)):iftarget-num[i]inprocessed:return[processed[target-num[i]]+1,i+1]processed[num[i]]=i我并不覺得好,因?yàn)樗褦?shù)據(jù)又放到了dict中,每次再去讀dict里面是否有這個(gè)num,但是為什么它的算法就比我的快呢?求解釋。提前謝過。
求解釋python 解決leetcode上一個(gè)問題的算法,和復(fù)雜度相關(guān)。
肥皂起泡泡
2019-03-30 11:39:23