Leetcode8月14日 打卡

192 阅读1分钟

1.牛客网腾讯某同学面试题

小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼排成一行。 小Q从第一栋一直走到了最后一栋,小Q从来都没有见到这么多的楼,所以他想知道他在每栋楼的位置处能看到多少栋楼呢?(当前面的楼的高度大于等于后面的楼时,后面的楼将被挡住)

输入

65 3 8 3 2 5  输出

3 3 5 4 4 4

描述

当小Q处于位置3时,他可以向前看到位置2,1处的楼,向后看到位置4,6处的楼,加上第3栋楼,共可看到5栋楼。当小Q处于位置4时,他可以向前看到位置3处的楼,向后看到位置5,6处的楼,加上第4栋楼,共可看到4栋楼。

花了25分钟吧 单调栈的题目 和之前遇到的那些单调栈题目还是很像,但是稍有不同,需要提前统计结果,而不是在while stack.pop之后再统计 否则会出错