检查我们可以在Python中找到四个总和与否相同的元素的程序

假设我们有一个称为nums的数字列表和一个值k,我们必须检查列表中是否有四个唯一元素加起来为k。

因此,如果输入像nums = [11,4,6,10,5,1] k = 25,那么输出将为True,因为我们有[4,6,10,5]的总和为25。

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

  • 排序列表编号

  • n:= nums的大小

  • 对于i在0到n − 4的范围内,执行

    • l:= j + 1,h:= nums − 1的大小

    • summ:= nums [i] + nums [j] + nums [l] + nums [h]

    • 如果求和与k相同,则

    • 否则,求和<k,则

    • 除此以外,

    • 返回True

    • l:= l + 1

    • h:= h − 1

    • 当l <h时

    • 对于范围i +1至n − 3的j,做

    • 返回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
    猜你喜欢