[LeetCode By Python] 1. Two Sum

2016-05-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

上一篇 下一篇

猜你喜欢

热点阅读