【发布时间】:2018-11-19 11:47:13
【问题描述】:
我正在运行下面的代码,用于从输入列表中获取两个数字的索引,其总和等于目标。
import itertools
class Solution:
def twoSum(self, nums, target):
combs = set(itertools.combinations(enumerate(nums), 2))
while combs:
elem = combs.pop()
if int(elem[0][1]) + int(elem[1][1]) == target:
return [elem[0][0], elem[1][0]]
cls = Solution()
nums = [3,3]
lst = cls.twoSum(nums,6)
print(lst)
它运行良好,直到输入数组很小,但是当它增长到数千个时,内存限制超出。我相信应该有一些其他优化的方法来做到这一点。
【问题讨论】:
标签: loops python-3.6