求一个数组中两个元素和的最大值
时间: 2024-05-11 08:19:33 浏览: 82
C++求二维数组中的最大值和最小值的方法
可以使用双指针的方法,在数组中设置左右两个指针,分别指向数组的最左端和最右端,然后不断地将指针向中间移动,每次移动时记录当前两个指针指向的元素的和,并更新最大值。具体实现如下:
```python
def max_sum(nums):
n = len(nums)
left, right = 0, n - 1
max_sum = float('-inf')
while left < right:
curr_sum = nums[left] + nums[right]
max_sum = max(max_sum, curr_sum)
if curr_sum < 0:
left += 1
else:
right -= 1
return max_sum
```
这个函数的时间复杂度为 $O(n)$,其中 $n$ 是数组的长度。
阅读全文