leetCode-两数字之和

1.描述

给定一个整数数列,找出其中和为特定值的那两个数。
你可以假设每个输入都只会有一种答案,同样的元素不能被重用。
示例:

给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

2.实现代码:

#自己实现的方法:使用双循环
class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        for i,n in enumerate(nums):
            
            for j,m in enumerate(nums):
                tar = n+m
                if tar ==target and i != j:
                    return [i, j]
                    
#大牛的实现方法:
def twoSum(self, nums, target):
    for i, num in enumerate(nums):
        sub_num = target - num
        if sub_num in nums:
            t_index = nums.index(sub_num)
            if t_index != i:
                return [i, t_index]
    原文作者:wawor4827
    原文地址: https://segmentfault.com/a/1190000014274457
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞