|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:
已有一个没有重复的整数列表,如 [2, 10, -3, 9, 4, 3, 5, 7 ,12],有一个整数目标值,如9
这个目标值可能可以由列表中两个数字相加得到,如 2 + 7,-3 + 12, 4 +5
建立一个函数
def fun(mylist, target):
return 列表
要求返回的列表为如下形式:
[[2, 7], [-3, 12], [4, 5]]
如果仅有一个返回
[2, 7]
如果没有返回
[]
注:不要有重复的,如[2, 7]和[7, 2]
- def fun(mylist, target):
- mylist = sorted(mylist)
- result = []
- for i in range(0, len(mylist)):
- if mylist[i] > target / 2:
- break
- for j in range(i + 1, len(mylist)):
- if mylist[i] + mylist[j] > target:
- break
- if mylist[i] + mylist[j] == target:
- result.append([mylist[i], mylist[j]])
- return result[0] if len(result) == 1 else result
复制代码
可以参考一下
|
|