题解 | #滑动窗口的最大值#简单好理解

滑动窗口的最大值

https://www.nowcoder.com/practice/1624bc35a45c42c0bc17d17fa0cba788

class Solution:
    def maxInWindows(self , num: List[int], size: int) -> List[int]:
        res = []
        #窗口大于数组长度的时候,返回空
        if size <= len(num) and size != 0:  
            #数组后面要空出窗口大小,避免越界
            for l in range (len(num) - size + 1):
                r = l + size - 1
                if l == 0:
                    maxn = max(num[l : r+1])
                    res.append(maxn)
                else:
                    if num[l-1] < maxn and num[r] < maxn:
                        res.append(maxn)
                        continue
                    elif num[l-1] == maxn:
                        maxn = max(num[l:r+1])
                        res.append(maxn)
                    elif num[r] >= maxn:
                        maxn = num[r]
                        res.append(maxn)                     
        return res

全部评论

相关推荐

有没有友友知道hr面会问什么我应该反问什么?还有如何防止hr套话啊?还有应该如果催hr推进快一点#字节#OPPO#hr面
牛客989988346号:职业规划,优缺点,为什么选择这个岗,对应聘公司产品的了解和满意度,如果让你改进公司产品你会怎么做,对ai(新技术)的了解,有无其他offer,什么时候能到岗
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务