_239_sliding_window_maximum.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:LeetCode 作者: YJL33 项目源码 文件源码
def maxSlidingWindow(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: List[int]
        """
        import bisect

        if len(nums) == 0: return []        # Special cases
        if k == 1: return nums

        ans = []
        window = []
        for i in xrange(len(nums)):
            bisect.insort_left(window, nums[i])
            if i == k-1:
                ans.append(window[-1])      # First element
            if i >= k:
                window.remove(nums[i-k])    # Remove the oldest element
                ans.append(window[-1])

        assert len(ans) == len(nums)-k+1
        return ans
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号