我是靠谱客的博主 美好电源,最近开发中收集的这篇文章主要介绍两数之和-leetcode(python),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

记录下自己的做法,虽然完成的并不好,但还是分享一下。

题目:

给定一个整数数列,找出其中和为特定值的那两个数。

你可以假设每个输入都只会有一种答案,同样的元素不能被重用。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
注意 nums = [3,3],target = 6 return [0,1]
class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        for num in nums:
            sub = target-num
            if sub == num:
            	first_index = nums.index(num)
            	try:
            		second_index =nums.index(sub,first_index+1)
            	except ValueError:
            		continue
            	if second_index != first_index:
            		return [first_index,second_index]
            	else:
            		continue
            if sub in nums:
                return [nums.index(num),nums.index(sub)]


方法二:

> 每取一个数,就把对应要找的数加入到字典中,并记录数字的索引值。KEY为所需的数字,VALUE为索引值。取数是从前往后取,但是是跟之前取过的数字对应想要找到的数比较。

class Solution:  
    def twoSum(self,nums, target):  
        """ 
        :type nums: List[int] 
        :type target: int 
        :rtype: List[int] 
        """  
        #创建一个空字典  
        d = {}  
        for x in range(len(nums)):  
            a = target - nums[x]  
            if nums[x] in d:     #字典d中存在nums[x]时  
                return d[nums[x]],x  
            else:                #否则往字典增加键/值对 
                d[a] = x         #边往字典增加键/值对,边与nums[x]进行对比  

最后

以上就是美好电源为你收集整理的两数之和-leetcode(python)的全部内容,希望文章能够帮你解决两数之和-leetcode(python)所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部