别把自己想的太伟大,要知道,在别人的世界里,不管你做的再好,你都只是个配角而已。人活一辈子不容易,要做就做自己的主角。
题目:给定一个整数列表和一个目标值,找出列表中两个数字之和等于目标值的两个数。
方法一
双重循环,遍历每两个元素两两相加的结果,通过判断两两之和是否满足等于目标值,复杂度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
判断逻辑中返回,或者打印。
当然还有其他方法,欢迎留言评论。
如果感觉本文对您有帮助可以点个赞哦
本文为学习笔记,转载请标明出处
本文仅供交流学习,请勿用于非法途径
仅是个人意见,如有想法,欢迎留言