85 - 滑动窗口的最大值
【摘要】 给定一个列表和滑动窗口的大小,找出所有滑动窗口数值的最大值。
例如:如果输入列表[2, 3, 4, 2, 6, 2, 5, 1]及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为[4, 4, 6, 6, 6, 5]; 针对列表[2, 3, 4, 2, 6, 2, 5, 1]的滑动窗口有以下6个:[[2, 3, 4], 2, 6, 2, 5, 1], [2...
给定一个列表和滑动窗口的大小,找出所有滑动窗口数值的最大值。
例如:如果输入列表[2, 3, 4, 2, 6, 2, 5, 1]及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为[4, 4, 6, 6, 6, 5]; 针对列表[2, 3, 4, 2, 6, 2, 5, 1]的滑动窗口有以下6个:[[2, 3, 4], 2, 6, 2, 5, 1], [2, [3, 4, 2], 6, 2, 5, 1], [2, 3, [4, 2, 6], 2, 5, 1], [2, 3, 4, [2, 6, 2], 5, 1], [2, 3, 4, 2, [6, 2, 5], 1], [2, 3, 4, 2, 6, [2, 5, 1]]
def maxInWindows(num, size): if size <= 0 or len(num) < size: return [] length = len(num) result = [] for i in range(0, length - size + 1): result.append(max(num[i:i+size])) return result
print(maxInWindows([2, 3, 4, 2, 6, 2, 5, 1], 3))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
[4, 4, 6, 6, 6, 5]
- 1
文章来源: ruochen.blog.csdn.net,作者:若尘,版权归原作者所有,如需转载,请联系作者。
原文链接:ruochen.blog.csdn.net/article/details/105165882
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)