我是靠谱客的博主 香蕉蛋挞,最近开发中收集的这篇文章主要介绍leetcode-Two sum(最佳思路以及python代码实现),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、Two sum

Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

答案:使用hashtable,建立数组值和下标的键值对,在python中相当于使用dict来存储,dict的key是数组的值,数组的下标是dict的value。

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int 
        :rtype: List[int]
        """
        dict = {} # 定义一个字典
        for i in xrange(len(nums)): # 遍历数组
            x = nums[i]  # 取当前数组的值
            if target-x in dict:  # 如果target减去当前值的差在字典的key中可以找到,直接可以返回dtarget-x对应的值,也即下标
                return (dict[target-x], i)  # 返回当前下标和找到的下标
            dict[x] = i   # 将数组值和下标数存入dict

最后

以上就是香蕉蛋挞为你收集整理的leetcode-Two sum(最佳思路以及python代码实现)的全部内容,希望文章能够帮你解决leetcode-Two sum(最佳思路以及python代码实现)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部