首页 文章资讯内容详情

创建数据结构以检查对和与 Python 中的值相同的程序

2026-06-03 1 花语

假设我们想要创建一个具有两种方法的数据结构-

add(val)这将值val添加到数据结构

find(val)这将检查是否有两个元素的总和为val

我们必须设计它,以便我们可以即时获得结果。每次有查询时,我们不会搜索数字。

所以,如果输入就像创建一个对象obj并添加几个数字6,14,3,8,11,15,然后检查像obj.find(9),obj.find(11),obj.find(15),那么输出将是True,True,False因为9可以用6+3形成,11可以用3+8形成。现在数据结构中存在15,但没有两个数字的总和与15相同。

示例

让我们看看以下实现以获得更好的理解-

class PairSumChecker: def __init__(self): self.nums= set() self.multiple= set() def add(self, val): if val in self.nums: self.multiple.add(val) else: self.nums.add(val) def find(self, val): for n in self.nums: if n + n == val: return n in self.multiple elif val - n in self.nums: return True return False obj = PairSumChecker() obj.add(6) obj.add(14) obj.add(3) obj.add(8) obj.add(11) obj.add(15) print(obj.find(9)) print(obj.find(11)) print(obj.find(15))

输入

print(obj.find(9)) print(obj.find(11)) print(obj.find(15))输出结果True True False