用 Python 编写程序,在列表中查找总和为 k 的任意两个数字

pythonserver side programmingprogramming更新于 2026/1/7 5:32:17

假设我们有一个名为 nums 的数字列表,还有另一个数字 k,我们必须检查列表中存在的任意两个数字的总和是否为 k。相同的元素不得重复使用。数字可以是负数或 0。

因此,如果输入为 nums = [45, 18, 9, 13, 12], k = 31,则输出将为 True,因为 18 + 13 = 31

为了解决这个问题,我们将遵循以下步骤 −

  • temp_set:= a new set
  • 对于 nums 中的每个数字,执行
    • 如果 num 在 temp_set 中,则
      • 返回 True
    • 将 (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

相关文章


有用资源