1. 程式人生 > >Two Sum 兩數之和的幾種解法

Two Sum 兩數之和的幾種解法

題目:給定一個數字列表nums,找出其中和為特定值target的兩個數,返回其下標。

解法一:最常規的兩個for迴圈巢狀

def twoSum(nums, target):
    for i in range(len(nums)):
        for j in range(i + 1, len(nums)):
            if nums[i] + nums[j] == target:
                return i, j
            else:
                j = j + 1
        i = i + 1

解法二:

def twoSum_simple(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]