频道栏目
首页 > 程序开发 > 软件开发 > 其他 > 正文
Two Sum解题报告分享
2018-11-10 15:52:35           
收藏   我要投稿

给定一个数组和一个target,求出满足数组中满足两个数之和等于target的数的下标

方法一:
第一个想到的肯定是hash表,python里面是字典,遍历一遍即可,放入的同时检查target减去放入的元素是否在hash表中
python

class Solution:
 def twoSum(self, nums, target):
  """
  :type nums: List[int]
  :type target: int
  :rtype: List[int]
  """
  dictionary = {}
  for i in range(len(nums)):
if target-nums[i]  in dictionary:
 return [i,dictionary[target-nums[i]]]
else :
 dictionary[nums[i]] = i
  return [0,0]

beat 83.92%

如果在遍历的过程中加点修改,省去根据i找nums[i]的过程

class Solution:
 def twoSum(self, nums, target):
  """
  :type nums: List[int]
  :type target: int
  :rtype: List[int]
  """
  dictionary = {}
  for i,num in enumerate(nums):
if target - num in dictionary:
 return [i,dictionary[target-num]]
dictionary[num] = i
  return [0, 0]

wtf,还是beat 83.92%

点击复制链接 与好友分享!回本站首页
上一篇:计算机网络常识简介
下一篇:指针指向数组取值方式教程
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站