携程 算法 9.9笔试

一题没A的菜🐔希望各位A的大佬帮忙看看代码怎么改。。
1.矩阵(45%)
方法1和方法2应该都是超时了。。。
class Solution:
    # 方法1
    def maxRecArea_1(self, grid, k: int) -> int:
        n, m = len(grid), len(grid[0])
        res = float("-inf")
        for i in range(n - k + 1):
            for j in range(m - k + 1):
                nums = [grid[i:i + k][a][j:j + k] for a in range(k)]
                # print(nums)
                res = max(res, sum(sum(nums[i]) for i in range(k)))

        return res

    # 方法2
    def maxRecArea(self, grid: List[List[int]], k: int) -> int:
        n, m = len(grid), len(grid[0])
        res = float("-inf")
        tmp = 0
        for i in range(n - k + 1):
            for j in range(m - k + 1):
                for a in range(k):
                    for b in range(k):
                        tmp += grid[i + a][j + b]
                # print(tmp)
                res = max(res, tmp)
                tmp = 0

        return res


if __name__ == "__main__":
    sl = Solution()
    N, M, K = input().split()
    N, M, K = int(N), int(M), int(K)
    board = []
    for _ in range(N):
        tmp = list(map(int, input().split()))
        board.append(tmp)

    # print(board)
    print(sl.maxRecArea(board, K))
2.***甩卖
到期时间不知道怎么更新。。。
import collections

class Solution:
    def operationGoods(self, arr):
        n = len(arr)
        capacity = 0  # 仓库容量
        deadline = 0  # 有效期
        res = []
        cur_nums = 0
        for i in range(n):
            tmp = arr[i]
            if tmp[0] == 1:
                cur_nums = tmp[1]
                capacity += cur_nums
                deadline = tmp[2]
            elif tmp[0] == 2:
                if tmp[1] > capacity:
                    res.append("no")
                else:
                    cur_nums = tmp[1]
                    capacity -= cur_nums
                    res.append("yes")
            elif tmp[0] == 3:
                deadline -= 1
                if deadline == 0:
                    capacity -= cur_nums
            elif tmp[0] == 4:
                res.append(deadline)

        return res


if __name__ == "__main__":
    sl = Solution()
    N = int(input())
    nums = []
    for _ in range(N):
        nums.append(list(map(int, input().split())))
    # print(nums)
    ans = sl.operationGoods(nums)
    for a in ans:
        print(a)
3.黑白树
DFS
import collections

class Solution:
    def __init__(self):
        self.sum = 0

    def sumSubTreeUniqueness(self, graph, nums):
        n = len(graph)  # 节点个数
        def dfs(node: int, cur):
            if not node:
                return
            if not graph.get(node, None):
                res.append(0)
                return
            for next_node in graph[node]:
                # print(next_node)
                cur ^= nums[next_node - 1]
                # print(next_node)
                if cur:
                    # print("yes")
                    self.sum += 1
                    res.append(self.sum)
                    break
            for next_node in graph[node]:
                dfs(next_node, cur)

        res = []
        for i in range(1, n + 1):
            dfs(i, nums[i - 1])

        return res


if __name__ == "__main__":
    sl = Solution()
    N, index = input().split()
    N, index = int(N), int(index)
    Arrs = list(map(int, input().split()))
    connections = []
    for _ in range(N - 1):
        connections.append(list(map(int, input().split())))
    # print(connections)
    Graphs = collections.defaultdict(list)
    for c in range(N - 1):
        Graphs[connections[c][0]].append(connections[c][1])
        # Graphs[connections[c][1]].append(connections[c][0])
    # print(Graphs)
    ans = sl.sumSubTreeUniqueness(Graphs, Arrs)
    # print(ans)
    for a in ans:
        print(a, end=" ")

感觉题目思路都不是很难想,但就是过不了。。。

#携程##笔经#
全部评论
好家伙,仓清(反过来读)还是敏感词。。。
点赞 回复 分享
发布于 2021-09-09 21:47
请问,还有单项选择题吗,算法岗,是哪方面的?DL&nbs***bsp;ML
点赞 回复 分享
发布于 2021-11-08 12:01

相关推荐

不愿透露姓名的神秘牛友
01-17 11:44
你在各大软件投了一份又一份,你打招呼的hr一个接一个,但是只要你投过的,很快就下线了,没关系你的能量是很强,你看过的岗位招到人的速度都增加了。朋友们一个个拿着丰厚的实习回报,你却默默在家刷新邮箱,等待着那寥寥无几的面试通知。你每天一睁眼就狂投简历,你一有面试邀约就点确认。过年亲戚们围坐聊天,谈论着他们孩子的职场成就,你试图插话说自己面试过的公司数量,但他们显然不太感兴趣。你在心里自嘲,觉得他们不懂面试的艰辛、不懂得每一次面试机会的珍贵,不懂得一张张精心准备的简历背后的努力。笑你那个小侄子只会在网上刷刷职位,而你已经是各大招聘网站的常客。亲戚们夸赞自己孩子一年的成就,儿子的新工作,女儿的晋升,而...
龚新化:这帖删了呗,这跟我朋友有点相似,不过我是无所谓的😀,没什么感觉,我不轻易破防的,但是我一个朋友可能有点汗流浃背了😕,他不太舒服想睡了,当然不是我哈,我一直都是行的,以一个旁观者的心态看吧,也不至于破防吧😃,就是想照顾下我朋友的感受,他有点破防了,还是建议删了吧😯,当然删不删随你,因为我是没感觉的,就是为朋友感到不平罢了🥺
点赞 评论 收藏
分享
2024-12-16 10:44
北京邮电大学 Java
之前说过如果拿到美团offer就把这么多轮的面试经验全写出来先说一下本人的经历有9个部门约面,2次拒面,4次二面挂,1次hr面挂,2次一面挂9月初做完笔试,隔了一周,优选约面了,秋招第一面,面的很差,没有准备好,手撕sql没写出来,另一道手撕写的不太好,果不其然一面挂9.30金服约面,这次面试全是八股,此时我的八股水平相当一般,每次深挖都不会,手撕是合并两个升序链表,一面寄过完国庆回来半个月美团再没约面过了知道10.20左右,SaaS部门约面这下就开启了我的噩梦循环,一面面评很不错,二面面试官问了在滴滴实习的限流的底层原理,实习的时候就没太看懂,面试的时候答的不好,但是侥幸二面过了,hr面的时候面试官问对大厂的印象,直接胡说八道了,过了三天人才库月底又面一轮到家二面问了很多场景题,答的都不太好,面试官提醒才能理清思路,面完就挂了走完这一轮面试已经11月了,11月更是噩梦循环,3次二面挂,可能因为之前有终面挂的经历面评还不错首先是美团平台,这个印象不深,自我感觉答的还可以,面试官也聊的不错,最后挂了,给面试官发邮件问了,面试官说前面的人接了offer,没有hc了遂挂然后就是我最想去的部门和base,成都的到家做营销业务的,面试很顺利,二面面试官是我的老乡,面完又开始紧张等待结果,还是挂了最后是核心本地平台做对内的系统的,可能还不如手里的保底offer,最后也不太想去,但是还是面了,二面挂,想不通时间到了12月,我的心态也是出奇的好,这个时候又陆陆续续有两个部门约面,但是心态已经很疲惫了,加上业务也不好,直接拒面了,每次来来回回都是半个月,很耽误时间,上周目前这个部门约面,一开始说周五面试,后面面试官有事又改到这周一,最后因为主管要出差,直接约面的第二天就面试了,两轮面完,第二天就oc了,谈薪没a动,但是也收到了正式offer,感觉也还能接受,剩下等等阿里和邮储就差不多签了一些面试tips1.这几次面试挂都是3天人才库,我看网上有的是长时间没有操作回的,可以问问面试官,有时候会捞回去2.美团面试是我秋招面试里最爱问八股的,一定要好好准备,问的也不难3.美团大部分技术面都有手撕,有时候会让写sql,没准备过,遇到一次寄4.很神奇每次面试碰到问最近看什么书这个问题的都挂了,感觉问这种问题就是面试官已经对你不感兴趣但是还要凑时长5.面试一定要好好准备,面了13次面试每次都有新的不会的点,一面八股居多,也看面试官,场景题最好也准备准备,普通八股是基础,一些中间件的原理也得知道6.坚持一定有好结果
甜美的牛牛在写bug:下载美团外卖没绷住
点赞 评论 收藏
分享
2024-12-09 16:42
门头沟学院 Java
程序员牛肉:我愿称你这种简历为npc简历。特点就是毫无任何亮点。你简历没有任何问题,但就是太普通了。实在是太普通了。 你可以在牛客搜一搜有多少人的简历和你一摸一样。一个大一点的公司一天能收几百份简历,你要是有公司邮箱的话,你可以尝试一下。在这几百份简历中,面试官面试一个人就需要1个小时。一天最多面试5个人。 照这样算,一个部门抽出3个人来面试,一天面试15个人。10天也最多面试150个人。在如此悬殊的投递和面试比之下,面试官一天要翻大量的简历。你这种简历真的是毫无亮点,面试官真的很难激起面试你的欲望。 没有学历,没有好的项目,技术也一般。写简历真的是给人乱写的感觉。 第一个项目中,使用mybatis plus这个插件来和数据库进行交互也可以作为亮点吗?基于nacos实现一个微服务中的服务注册也算亮点?第二个项目还是黑马点评。像有这种项目的简历一抓一大把。 问题来了:你觉得面试官为什么会面试你?在简历大致相同的情况下,你学校又是个二本,你认为面试官选择你而不选择学历更高的同学的原因是什么? 所以我觉得对于你来讲,可以一边投递实习,一边准备新的项目。同时积极去探索一些自己能够写到简历上的亮点。比如是不是有自己的公众号或者博客。比如是不是有自己开源项目,比如是不是一些含金量比较高的比赛 想要有面试机会的第一步就是让自己从这种npc简历中跳出来,最起码有一点“活人”的气息
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

更多
牛客网
牛客企业服务