Python程序:查找列表中两个数字之和等于k
假设我们有一个名为nums的数字列表,还有一个数字k,我们需要检查列表中是否存在两个数字加起来等于k。相同的元素不能重复使用。数字可以为负数或0。
因此,如果输入类似于nums = [45, 18, 9, 13, 12],k = 31,则输出将为True,因为18 + 13 = 31
为了解决这个问题,我们将遵循以下步骤:
- temp_set := 一个新的集合
- 对于nums中的每个数字num,执行以下操作:
- 如果num在temp_set中,则:
- 返回True
- 将(k-num)添加到temp_set中
- 如果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
广告