Python 算法习题

2019-12-05  本文已影响0人  天地会大中华区块链ceo

给定一个整数数组nums和一个目标值target,请找出该target下的两个整数,并返回数组下标

def twoSum(nums,target):

    for i in range(len(nums)):  # 选取一个基数据,执行第一层遍历

        j = -1 # 添加一个判断指标

        if target - nums[i] in nums:

            if ((target - nums[i]) == nums[i]) & (nums.count(target - nums[i])==1):

                continue

            else:

                j = nums.index(target - nums[i])

                if i == j:

                    j = nums.index(target - nums[i], i+1)

                else:

                    break # break是终止最外层的for循环

        if j >0:

            return [i,j]

        else:

            return []

其中 j为最终结果的判定值,寻找对应的变量来反应返回结果的变化。

因为是遍历模式,其复杂度为o(n)

上一篇 下一篇

猜你喜欢

热点阅读