假设我们有一个称为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