网易笔试-求康康代码/思路 有啥问题吗…
第一题 是我理解错了吗?给出一列天气温度,输出距离下次降温的天数
例子:
输入:73,74,75,71,69,72,76,73
输出:3,2,1,1,0,0,1,0
输出: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”。。。 求指点,谢谢!
#笔试题目##网易互娱#
