网易笔试-求康康代码/思路 有啥问题吗…

第一题 是我理解错了吗?给出一列天气温度,输出距离下次降温的天数
例子:
输入:73,74,75,71,69,72,76,73
输出:3,2,1,1,0,0,1,0

思路:遍历,如果当前元素温度小于栈顶温度则出栈,记录栈顶元素对应的天数答案(为当前元素的下标-栈顶元素的下标),随后当前元素的(温度、下标)对入栈。
while True:
    try:
        nums = [int(i) for i in input().split()]
        l = len(nums)
        if l == 1:
            print("0")
        else:    
            stack = []
            res = ["0" for i in range(l)]
            for i in range(l):
                while stack != [] and stack[-1][0] > nums[i]:
                    tmp = stack.pop()
                    idx = tmp[1]
                    res[idx] = str(i - idx)
                stack.append((nums[i],i))
            print(",".join(res))
    except:
        break
本地IDE似乎没问题,但是提交一直不通过!!!?过的20%我猜是那个“0”。。。
求指点,谢谢!
#笔试题目##网易互娱#
全部评论
这不就是LC原题吗,是哪里有坑吗
点赞
送花
回复 分享
发布于 2020-09-11 21:23

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务