程序以查找列表中的任意两个数字,在Python中这些数字总计为k
假设我们有一个称为nums的数字列表,并且还有另一个数字k,我们必须检查列表中是否存在两个数字加起来等于k或现在。相同的元素不能重复使用两次。并且数字可以是负数或0。
因此,如果输入像nums=[45,18,9,13,12],k=31,则输出将为True,因为18+13=31
为了解决这个问题,我们将遵循以下步骤-
temp_set:=一个新的集合
对于以num为单位的每个num
返回True
如果num在temp_set中,则
将(k-num)加到temp_set
返回False
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, nums, k):
temp_set=set()
for num in nums:
if num in temp_set:
return True
temp_set.add(k-num)
return False
ob = Solution()nums = [45, 18, 9, 13, 12] k = 31 print(ob.solve(nums, k))输入值
[45, 18, 9, 13, 12], 31
输出结果
True