返回信息流【更新】感谢大家提的看法哈,没想到突然那么多回复~~这题是我去年发的了,当时刚为了找工作刷算法,太菜了那时候,也没看discuss就傻傻地发帖了。
现在都找到工作了~~~希望大家也能好好刷题,学Python,拿到满意的offer
============================================分割线====================================================
乍一看挺简单的,就是求一个数组中两个元素和等于target的下标,用了两层循环嵌套,时间复杂度O(n^2),结果提交后说运行时间太长...求大神指导
这是一条镜像帖。来源:北邮人论坛 / python / #9556同步于 2015/11/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
【更新】leetcode第一题“two sum”运行时间太长怎么解
iamluo
2015/11/9镜像同步23 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
class Solution:
def twoSum(self, num, target):
process={}
for index in range(len(num)):
if target-num[index] in process:
return [process[target-num[index]]+1,index+1]
process[num[index]]=index
看到别人的方法,复杂度为O(n),挺巧妙的
【 在 huangfs 的大作中提到: 】
: 不是可以看discuss嘛?
哈希表啊
【 在 iamluo 的大作中提到: 】
: class Solution:
: def twoSum(self, num, target):
: process={}
: ...................
我看process就是个普通的字典啊,从哪里看出是哈希表?其实我不太懂哈希是什么玩意
【 在 huangfs 的大作中提到: 】
: 哈希表啊
: 【 在 iamluo 的大作中提到: 】
: : class Solution:
: : def twoSum(self, num, target):
: :
: .........
var twoSum = function(nums, target) {
var hash = {};
for (var i = 0, len = nums.length; i < len; i ++) {
if (hash[target - nums[i]] !== undefined) {
return [hash[target - nums[i]], i + 1];
}
hash[nums[i]] = i + 1;
}
};
这个方法可以吗?如果列表中有两组满足要求的数咋办,如a=[1,2,3,4,5,6,7,8],target=8
【 在 iamluo 的大作中提到: 】
: 我看process就是个普通的字典啊,从哪里看出是哈希表?其实我不太懂哈希是什么玩意