两个数字之和等于目标值

别把自己想的太伟大,要知道,在别人的世界里,不管你做的再好,你都只是个配角而已。人活一辈子不容易,要做就做自己的主角。

题目:给定一个整数列表和一个目标值,找出列表中两个数字之和等于目标值的两个数。

方法一
双重循环,遍历每两个元素两两相加的结果,通过判断两两之和是否满足等于目标值,复杂度n*n。
给定列表num_list = [2, 3, 5, 7, 9],目标值7

def num_add(num_list, target):

    for num_one in range(len(num_list) - 1):
        for num_two in range(num_one + 1, len(num_list)):
            if num_list[num_one] + num_list[num_two] == target:
                return num_list[num_one], num_list[num_two]

方法二
使用减法,将指定数字减去列表中的任一元素,判断所得的差是否在列表中,复杂度n。

def add_num(num_list, target):

    for i in range(len(num_list)):
        num = target - num_list[i]
        if num in num_list:
            return num, num_list[i]

方法二想要获取数字对应的索引,请使用num_list.index(num),这个需要添加到if判断逻辑中返回,或者打印。

当然还有其他方法,欢迎留言评论。


如果感觉本文对您有帮助可以点个赞哦

本文为学习笔记,转载请标明出处

本文仅供交流学习,请勿用于非法途径

仅是个人意见,如有想法,欢迎留言

你可能感兴趣的:(两个数字之和等于目标值)