leecode刷题,运行结果和答案一样,为什么提示错误

img

img


运行的结果不是和预期结果一样吗,为啥还是解答错误,麻烦谁来指导一下谢谢

调试

不是,你这个模式,答案不是要你打印出来,是要返回,return, no print! 明白吗

参考答案:

class Solution(object):
    def maxSlidingWindow(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: List[int]
        """
        if k == 0:
            return []
        ans = [0 for _ in range(len(nums) - k + 1)]
        stack = collections.deque([])
        for i in xrange(0, k):
            while stack and nums[stack[-1]] < nums[i]:
                stack.pop()
            stack.append(i)
        ans[0] = nums[stack[0]]
        idx = 0
        for i in xrange(k, len(nums)):
            idx += 1
            if stack and stack[0] == i - k:
                stack.popleft()
            while stack and nums[stack[-1]] < nums[i]:
                stack.pop()
            stack.append(i)   
            ans[idx] = nums[stack[0]]
        
        return ans

数组如果是从0开始计数,k=3 第一次你计算的是a[0]到a[3]四个数的最大值

输出不是null吗?

img

可能只是部分测试案例通过,算法还是有些问题,有些案例通过不了

当你的列表个数少于k值的时候,你输出L为空,事实上应该有一个值吧?

用return,输出才是结果。
print是供你调试用的