今天无意中看到一个题目,也不是很难,就想着用python实现以下:

题目是数组中的两个数相加等于输入的一个target,然后输出数组的下标。

比如:

[1,2,3,4,5,6] target=7  返回[1,4]

主要是坑就是避免有重复的数字

代码如下

# -*- coding:utf -8 -*-
def TwoSum(nums,target):
    if len(nums) <0:
        return False
    for m in nums:       
        n = target-m
        if n in nums:  
            if m != n: 
                index_n = [i for i,a in enumerate(nums) if a==n][0]
                index_m = [i for i,a in enumerate(nums) if a==m][0]
                return [index_m,index_n]
            if(m == n and len([i for i,a in enumerate(nums) if a==n]) >1):
                index_m = [i for i,a in enumerate(nums) if a==n][0]
                index_n = [i for i,a in enumerate(nums) if a==n][1]
                return [index_m,index_n]

  

相关文章:

  • 2021-09-08
  • 2021-08-14
  • 2021-08-09
  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2021-07-19
  • 2022-12-23
猜你喜欢
  • 2022-02-10
  • 2021-08-11
  • 2021-07-23
  • 2021-09-26
  • 2021-11-04
  • 2022-12-23
  • 2022-01-03
相关资源
相似解决方案