方法一:之前见过改题目的精简版,不用判断乘积最小,只用判断数字序列中是否包含有两个数字和为S。最直观的想法的是使用一个双重循环,但是这样效率未免太低。考虑到a+b=sum,则b=sum-a。可以使用一个HashMap存储。因此我们可以先将b保存在HashMap中,然后再遍历计算sum-a,如果找到一个sum-a的值在HashMap中,则说明存在两数之和为sum。然后在遍历的同时记录满足条件的数字的乘积。 # -*- coding:utf-8 -*- class Solution: def FindNumbersWithSum(self, array, tsum): # write code ...