[LeetCode By Python] 1. Two Sum

一、题目

[LeetCode By Python] 1. Two Sum_第1张图片
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)