美文网首页
[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