华为算法岗笔试2024届秋招

1.力扣739.每日温度,使用单调栈,使用for循环不知道为什么会超时,使用while不会(看看有没有大佬知道为啥)

class Solution(object):
    def dailyTemperatures(self, temperatures):
        """
        :type temperatures: List[int]
        :rtype: List[int]
        """
        temp=[0]
        output=[0]*len(temperatures)
        for i in range(1,len(temperatures)):
            while len(temp):
			#使用for循环会超时
            #for _ in range(len(temp)):
                if temperatures[i]>temperatures[temp[-1]]:
                    output[temp[-1]]=i-temp[-1]
                    temp.pop()
                else:
                    break
            temp.append(i)

        return output

2.中庸行者行走最大步数,使用dfs

3.使用拓扑排序小顶堆

全部评论
用stack list res = [0]*len(temperatures) stack = [] for i, t in enumerate(temperatures): while stack and t > stack[-1][0]: stackT, stackIND = stack.pop() res[stackIND] = i - stackIND stack.append((t,i)) return res
点赞 回复 分享
发布于 2023-09-09 14:15 四川
我这里有参考答案
点赞 回复 分享
发布于 2023-09-07 19:10 广东

相关推荐

07-25 11:12
重庆大学 C++
既然这么缺人,为什么挂我呢
飞花断音:华为需要学历不高,但是很能干事儿,能吃苦也没怨言,愿意无偿加班,最好上有老下有小,不是独生子女,家庭条件不好,家在外地租房住,生活成本高,不会轻易跳槽,并且愿意接受低工资的奴仆任劳任怨地给任总的女儿买大别墅住
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
07-23 14:04
东北大学 C++
既然这样,为什么不点击就送呢
牛马88号:因为你合适。但有很多笔试就挂了、通过了再排序的
点赞 评论 收藏
分享
评论
2
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务