欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python3学习之旅2-两数之和力扣

程序员文章站 2022-05-28 11:52:53
...

Python3学习之旅2-两数之和力扣

方法1:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        lens = len(nums)
        j = -1
        for i in range(lens):
            if (target-nums[i])in nums:
                if (nums.count(target-nums[i]) == 1)&(target - nums[i] == nums[i]):# 判断是不是重复的数字
                    continue
                else:
                    j = nums.index(target - nums[i],i+1) # 查找目标数字的下标
                    break
        if j>0:
            return [i,j]
        else:
            return []

需要注意的编程小细节:

  1. 对齐问题,最开始是有一个class类的
  2. if else这些后面是有冒号的语法问题
  3. 分析清楚题目,这道题目有个关键点:不能是重复的数字加和
  4. range、count、index函数的使用

方法2:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        lens = len(nums)
        j = -1
        for i in range(1,lens):
            temp = nums[:i] # 注意没有逗号
            if (target - nums[i]) in temp:
                j = temp.index(target - nums[i])
                break
        if j>=0:
            return [j,i] # 注意这个是往前面找,所以j会比i小
        else:
            return []
相关标签: Python3 python