python 一维 滑动窗口
时间: 2023-08-29 10:05:44 浏览: 149
在Python中,可以使用双指针来实现一维滑动窗口。
例如,假设有一个列表nums,需要找到长度为k的连续子数组的最大值。可以使用以下代码实现:
```python
def max_sum(nums, k):
# 定义左右指针和当前窗口的和
left = 0
right = k - 1
cur_sum = sum(nums[:k])
max_sum = cur_sum
# 滑动窗口
while right < len(nums) - 1:
left += 1
right += 1
cur_sum = cur_sum - nums[left - 1] + nums[right]
max_sum = max(max_sum, cur_sum)
return max_sum
```
在上述代码中,首先定义左右指针和当前窗口的和。然后通过一个while循环来滑动窗口,每次将左右指针右移1位,同时更新当前窗口的和。最后返回最大的窗口和即可。
阅读全文