Python算法题集_两数之和

本文为Python算法题集之一的代码示例

题目:两数之和

说明:给定一个整数列表(数值不重复) nums 和一个整数目标值 target,请在该数组中找出和为目标值 target 的整数对,并返回数组下标对

  1. 简单版【只有一个两数和等于目标值】

    # 简单版【给定一个不重复整数列表 nums 和一个整数目标值 target,请在该数组中找出和为目标值 target  的整数对,并返回这个数组下标对】
    def twoSum(nums: list, target: int) -> list:
        for i in range(len(nums)):
            tmpA = nums[i]
            valueB = target - tmpA
            if valueB in nums:
                tmpIdxb = nums.index(valueB)
                if tmpIdxb == i:
                    continue
                return [i, nums.index(valueB)]
    
    
    numsa = [1,2,3,4,5,6,7,8,9,10,11,0,12,13,14]
    print('{}中整数和为{}的元素唯一下标对为{}'.format(numsa, 25, twoSum(numsa, 25)))
    # 运行结果
    # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 12, 13, 14]中整数和为25的元素唯一下标对为[10, 14]
    
  2. 加强版【有多个两数和等于目标值】

    # 加强版【给定一个不重复的整数列表 nums 和一个整数目标值 target,请在该数组中找出所有和为目标值 target  的整数对,并返回它们的数组下标对】
    def twoSumList(nums: list, target: int) -> list:
        result = []
        for i in range(len(nums)):
            # 避免出现重复的数组下标对
            if i in result:
                continue
    
            tmpA = nums[i]
            valueB = target - tmpA
            if valueB in nums:
                tmpIdxb = nums.index(valueB)
                if tmpIdxb == i:
                    continue
                result = result + [i, nums.index(valueB)]
    
        return result
        
    numsa = [1,2,3,4,5,6,7,8,9,10,11,0,12,13,14]
    print('{}中整数和为{}的元素所有下标对为{}'.format(numsa, 11, twoSumList(numsa, 11)))
    # 运行结果
    # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 12, 13, 14]中整数和为11的元素所有下标对为
    # [0, 9, 1, 8, 2, 7, 3, 6, 4, 5, 10, 11]
    

    一日练,一日功,一日不练十日空

    may the odds be ever in your favor ~

相关推荐

  1. Python算法_之和

    2024-01-19 10:20:02       32 阅读
  2. 算法1之和

    2024-01-19 10:20:02       15 阅读
  3. LeetCode算法之和

    2024-01-19 10:20:02       10 阅读
  4. TypeScript算法每日一之和(167)

    2024-01-19 10:20:02       8 阅读
  5. LeetCode1之和python3)

    2024-01-19 10:20:02       14 阅读
  6. Python闯LeetCode--第1之和

    2024-01-19 10:20:02       9 阅读
  7. 双指针算法篇:之和 、三之和

    2024-01-19 10:20:02       19 阅读
  8. LeetCode第1 - 之和

    2024-01-19 10:20:02       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-19 10:20:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-19 10:20:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-19 10:20:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-19 10:20:02       18 阅读

热门阅读

  1. 基于STM32F103的智能书房系统的设计

    2024-01-19 10:20:02       30 阅读
  2. 112. 路径总和

    2024-01-19 10:20:02       35 阅读
  3. 【QA】Linux-CentOS-解决mysqlclient无法安装

    2024-01-19 10:20:02       37 阅读
  4. RabbitMQ交换机

    2024-01-19 10:20:02       31 阅读
  5. Git教程学习:08 Git别名

    2024-01-19 10:20:02       31 阅读
  6. P1162 填涂颜色【解析】-----深度优先搜索

    2024-01-19 10:20:02       31 阅读
  7. 程序员必备的面试技巧

    2024-01-19 10:20:02       40 阅读
  8. HTTP和HTTPS

    2024-01-19 10:20:02       32 阅读