用 Python 编写程序检查我们能否找到总和与 k 相同的四个元素
pythonserver side programmingprogramming更新于 2026/2/4 4:28:17
假设我们有一个名为 nums 的数字列表和一个值 k,我们必须检查列表中是否有四个唯一元素加起来等于 k。
因此,如果输入为 nums = [11, 4, 6, 10, 5, 1] k = 25,则输出将为 True,因为我们有 [4, 6, 10, 5],其总和为 25。
要解决这个问题,我们将遵循以下步骤 −
对列表 nums 进行排序
n := nums 的大小
对于 0 到 n 范围内的 i − 4,执行
对于 j,范围为 i + 1 到 n − 3,执行
l := j + 1,h := nums 的大小 − 1
当 l < h 时,执行
summ := nums[i] + nums[j] + nums[l] + nums[h]
如果 summ 与 k 相同,则
返回 True
否则当 summ < k,则
l := l + 1
否则,
h := h − 1
返回 False
让我们看看下面的实现以便更好地理解 −
示例
class Solution: def solve(self, nums, k): nums.sort() n = len(nums) for i in range(n - 3): for j in range(i + 1, n - 2): l, h = j + 1, len(nums) - 1 while l < h: summ = nums[i] + nums[j] + nums[l] + nums[h] if summ == k: return True elif summ < k: l += 1 else: h −= 1 return False ob1 = Solution() nums = [11, 4, 6, 10, 5, 1] k = 25 print(ob1.solve(nums, k))
输入
[11, 4, 6, 10, 5, 1], 25
输出
True
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

