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, [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))
[4, 4, 6, 6, 6, 5]

86 - 得到整数列表的中位数

发布了208 篇原创文章 · 获赞 249 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_29339467/article/details/105165882
85