Python解决算法复杂度问题求助,python问题求助,问题是leetcode上
Python解决算法复杂度问题求助,python问题求助,问题是leetcode上
问题是leetcode上的一道算法题。https://oj.leetcode.com/problems/two-sum/
我用的是python来写的,但是总是提示Time Limit Exceeded 错误,当出现一个大数组的时候。这是我的解决方案。
def twoSum(num, target): for i in range(0, len(num)): num1 = num[i] num2 = target - num1 if num2 in num and (i+1) !=num.index(num2) + 1: return (i+1,num.index(num2) + 1)
不知道为什么是报错。这是我再网上看的别人的方法。
def twoSum(self, num, target): processed = {} for i in range(0, len(num)): if target-num[i] in processed: return [processed[target-num[i]]+1,i+1] processed[num[i]]=i
我并不觉得好,因为它把数据又放到了dict中,每次再去读dict里面是否有这个num,但是为什么它的算法就比我的快呢?求解释。提前谢过。
从字典查找一个元素比从list中查找要快吧。 字典不是类似hash表查找方式么
你可知 num2 in num 和 target-num[i] in processed 的时间复杂度分别是多少?
编橙之家文章,
相关内容
- Python tornado分页合并展示问题,pythontornado,需要在用户输
- Python3二进制转化成字符串有什么好的解决办法吗,py
- python报错信息type 'exceptions.AttributeError'是什么意思,,
- Python可以做局域网线聊天类型的网站吗?,python局域网
- python3.3有哪些特别好用的模块,python3.3模块,python3.3对内
- 与三方网站相关要如何选择合适的Python WSGI服务器,p
- Python模拟登录人人抓取内容页问题,python模拟人人抓取
- 新手写的python简单服务器和客户端程序,纠错,python客户
- python logging日志级别设置没有效果?,pythonlogging,impor
- ipython notebook 导入numpy异常如何解决,ipythonnumpy,我在s
评论关闭