美文网首页
[LeetCode By Python] 1. Two Sum

[LeetCode By Python] 1. Two Sum

作者: 乐乐可爱睡觉 | 来源:发表于2016-05-31 09:31 被阅读992次

一、题目

Two Sum

二、解题

1)题意:

找出列表中任意两数的和等于给定值的两数下标。

2)关键点

进行循环时候,跳出条件是两个数的值加起来等于target,并且两个值的index不同。

三、尝试与结果

1)使用最基础的两重循环

class Solution(object):
    def twoSum(self, nums, target):
        length = len(nums)
        result = []
        for i in range(0,length):
            for j in range(i,length):
                tSum = nums[i] + nums[j]
                if tSum == target and i != j:
                    result.append(i)
                    result.append(j)
                    return result

2)使用一重循环,用target减去第一个值,判断第二个值是否在列表中(注意也要判断index是否相同)

class Solution(object):
    def twoSum(self, nums, target):
        result = []
        for i in range(0,len(nums)):
            oneNum = nums[i]
            twoNum  = target - oneNum
            if twoNum in nums:
                j = nums.index(twoNum)
                if i != j:
                    result.append(i)
                    result.append(j)
                    return result

结果:AC

相关文章

网友评论

      本文标题:[LeetCode By Python] 1. Two Sum

      本文链接:https://www.haomeiwen.com/subject/gxpcdttx.html