用 Python 编写程序,查找大于给定目标的对的最小和
pythonserver side programmingprogramming
假设我们有一个名为 nums 的数字列表和另一个值 target。我们必须找到大于目标的对的最小和。
因此,如果输入为 nums = [2, 4, 6, 10, 14] target = 10,则输出将为 12,因为我们选择了 2 和 10
要解决这个问题,我们将遵循以下步骤 −
- 对列表 nums 进行排序
- n := nums 的大小
- answer := 10^10
- i := 0, j := n - 1
- while i < j,执行
- 如果 nums[i] + nums[j] > target,则
- answer := answer 和 (nums[i] + nums[j]) 的最小值
- j := j - 1
- 否则,
- i := i + 1
- 如果 nums[i] + nums[j] > target,则
- 返回 answer
让我们看看下面的实现以便更好地理解 −
示例
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
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

