问题是leetcode上的一道算法题。https://oj.leetcode.com/problems/two-sum/我用的是python来写的,但是总是提示TimeLimitExceeded错误,当出现一个大数组的时候。这是我的解决方案。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)不知道为什么是报错。这是我再网上看的别人的方法。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我并不觉得好,因为它把数据又放到了dict中,每次再去读dict里面是否有这个num,但是为什么它的算法就比我的快呢?求解释。提前谢过。
添加回答
举报
0/150
提交
取消