发布于 2016-01-15 12:05:57 | 375 次阅读 | 评论: 0 | 来源: PHPERZ

这里有新鲜出炉的精品教程,程序狗速度看过来!

Leetcode 在线编程网站

leetcode 是一个美国的在线编程网站,上面主要收集了各大IT公司的笔试面试题,对于应届毕业生找工作是一个不可多得的好帮手。


初始版本:

def twoSum(self, nums, target):

    dic = dict() //参考1 {}更快一些
    first = 0
    sec = 0
    
    for index in range(0, len(nums)): //参考2 xrange更省内存 xrange在python3中被一冲,用range代替
        num = nums[index]
        
        if dic.has_key(num): //参考3 has_key在python3中被移除
            sec = index + 1
            first = dic[num] + 1
            break
        else:
            key = target - num
            dic[key] = index

    return [first, sec]
  1. literal({}) is faster

  2. range vs. xrange

  3. in vs. has_key

最终版本:

def twoSum(self, nums, target):
    dict = {}
    
    for index in xrange(0, len(nums)):
        
        num = nums[index]
        
        if num in dict:
            return [dict[num] + 1, index + 1]
        else:
            dict[target - num] = index


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务