程序查找大于Python中给定目标的最小对数之和

假设我们有一个称为nums的数字列表和另一个值目标。我们必须找到大于目标的数字对的最低和。

因此,如果输入像nums = [2,4,6,10,14] target = 10,那么输出将是12,因为我们选择2和10

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

  • 排序列表编号

  • n:= nums的大小

  • 回答:= 10 ^ 10

  • i:= 0,j:= n-1

  • 当我<j时

    • 我:=我+ 1

    • 答案:=答案的最小值和(nums [i] + nums [j])

    • j:= j-1

    • 如果nums [i] + nums [j]>目标,则

    • 除此以外,

    • 返回答案

    让我们看下面的实现以更好地理解-

    示例

    class Solution:
       def solve(self, nums, target): nums.sort()
          n = len(nums)
          answer = 10 ** 10
          i, j = 0, n - 1
          while i < j:
             if nums[i] + nums[j] > target:
                answer = min(answer, nums[i] + nums[j])
                j -= 1
             else:
                i += 1
          return answer
    ob = Solution()nums = [2, 4, 6, 10, 14]
    target = 10
    print(ob.solve(nums, target))

    输入项

    [2, 4, 6, 10, 14], 10

    输出结果

    12