Python 中两个小于 K 的和
pythonserver side programmingprogramming更新于 2025/10/26 16:12:17
假设我们有一个整数数组 A,并且给出了另一个整数 K。我们必须找到最大值 S,使得存在 i < j,A[i] + A[j] = S 且 S < K。如果不存在满足该等式的 i、j,则返回 -1。例如,如果 A = [34,23,1,24,75,33,54,8] 且 K = 60,则输出将为 58,因为我们可以使用 34 和 24 来求和 58,而 58 小于 60。
为了解决这个问题,我们将遵循以下步骤 −
- res = - 1
- 如果 A 只有一个元素,则返回 -1
- 对于 i,范围为 0 到 A 的长度
- 对于 j,范围为 i + 1 到 A 的长度
- temp = A[i] + A[j]
- 如果 temp < K,则 res = res 和 temp 的最大值
- 对于 j,范围为 i + 1 到 A 的长度
- 返回 res
示例 (Python)
让我们看下面的实现,以便更好地理解 −
class Solution(object): def twoSumLessThanK(self, A, K): ans = -1 if len(A)==1: return -1 for i in range(len(A)): for j in range(i+1,len(A)): temp = A[i]+ A[j] if temp<K: ans = max(ans,temp) return ans ob1 = Solution() print(ob1.twoSumLessThanK([34,23,1,24,75,33,54,8],60))
输入
[34,23,1,24,75,33,54,8] 60
输出
58
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

