美团 3.13笔试AC

1.
n,m=map(int,input().split())
path,nums=[],[]
res=[[0]*n for _ in range(m)]
for i in range(n):
    path=list(map(int,input().split()))
    for j in range(m):
        res[j][i]=path[j]
for i in range(m):    
    for j in range(n):
        if j<n-1:
            print(res[i][j],end=' ')
        else:
            print(res[i][j])
2.
s=input()
n=len(s)
left,right=0,0
res=[]
while right<n:
    while  right<n and not s[right].isdigit():
        right+=1
    left=right
    while right<n and s[right].isdigit():
        right+=1
    string=s[left:right]
    cur=0
    if string:
        for i in string:
            cur=cur*10+int(i)
        res.append(cur)
res.sort()
for i in res:
    print(i)

3.
n,k=map(int,input().split())
nums=list(map(int,input().split()))
left,right=0,0
end=n-k+1
dic={}
res=[]
count=0
while right<n:
    num1=nums[right]
    dic[num1]=dic.get(num1,0)+1
    right+=1
    if right-left==k:
        counter=sorted(dic.items(),key=lambda k:(k[1],-k[0]))
        num2=nums[left]
        dic[num2]-=1
        left+=1
        print(counter[-1][0])
        count+=1
    if count==end:
        break
4,5只会骗分。。。比秋招做的还烂



#笔试题目#
全部评论
蹲一个大佬讲讲第四题orz
2 回复 分享
发布于 2021-03-13 18:16
100 100 82 18 18,这最后两道图论题我调了一个多小时都没过,不知道错在哪😣
1 回复 分享
发布于 2021-03-13 18:06
100 % 100% 82% 0.18 0 第二题少写一个等号,一直找不到错误,搞了一个小时心态崩了。最后一分钟看到过了。 第二题可能直接用list<Sting>,然后排序list ,排序方法是。 第三题用滑动窗口,然后用hashmap计数。 (优化方法,用m记录众数次数,如果下一个数和众数相同,那么m+1.不同m-1,直到m==0重新算众数)
1 回复 分享
发布于 2021-03-13 18:13
请问有没有今天下午美团笔试是4道编程题,3道多选题的?
1 回复 分享
发布于 2021-03-13 18:15
最后20分钟发现还有第5题😅
1 回复 分享
发布于 2021-03-13 18:20
1 1 0.7 0.2 0.8 第 3 题感觉要滑动窗口加建树  第 4 题调了半天没过,白嫖 然后最后30分钟想到思路了没写出来 第 5 题没用缓存只过了0.8,难顶  时间都去做第4题了 ```python from collections import defaultdict n,m = list(map(int,input().strip().split(' &(5528)#39;))) weigh = list(map(int,input().strip().split(' &(5528)#39;))) weigh = [0]+weigh memo = defaultdict(list) for i in range(m):     x1,x2= list(map(int,input().strip().split(' &(5528)#39;)))     memo[x1].append(x2)     memo[x2].append(x1) res =[0] memodict = {} def dfs(node,lengh):     if node in memodict:         return memodict[node]     ans = 1     for i in memo[node]:         if weigh[i]<weigh[node]:             tmp = dfs(i,lengh+1)+1             ans = max(ans,tmp)     memodict[node] = ans     return ans for i in range(1,n+1):     res = max(dfs(i,1),res) print(res[0]) ``` 这是考完写的有缓存版
1 回复 分享
发布于 2021-03-13 19:01
1,2,5AC 3 90% 4  18%,应该还行吧
1 回复 分享
发布于 2021-03-13 19:09
第四题树形dp,dp维护最大权值和,dm维护满足条件下的路径上的最小权值。 0表示不选该点,1表示选。
1 回复 分享
发布于 2021-03-13 19:14
100 64 73 18 18 能给面试机会吗?
1 回复 分享
发布于 2021-03-13 19:49
楼主你投的什么岗
1 回复 分享
发布于 2021-03-13 23:28
弱弱问一下那个,第三题中 counter = sorted(dic.items(), key=lambda k: (k[1], -k[0])) 这个lambda k 中-k[0] 有什么作用
1 回复 分享
发布于 2021-03-14 15:57
54分
点赞 回复 分享
发布于 2021-03-13 17:58
100% 54% 27% 0 0 自己debug太慢了,后面俩都没好好看
点赞 回复 分享
发布于 2021-03-13 18:01
第三题可以抽象成滑动窗口求众数
点赞 回复 分享
发布于 2021-03-13 18:03
100 100 82 0 18,第三题从45优化到82花了我半个小时,第四题都没怎么看,然后突然想起还有一个第五道。。。不知道为什么要这么设置题目
点赞 回复 分享
发布于 2021-03-13 18:04
测开 100,100,82,18。第五题写用例的不知道怎么判分
点赞 回复 分享
发布于 2021-03-13 18:12
1 0.91 0.91 0.18 1第二搞不懂问题出在哪😅,第三题暴力用map存计数超市
点赞 回复 分享
发布于 2021-03-13 18:24
100 45 91 18 27 第二题最后才发现可能爆int😅
点赞 回复 分享
发布于 2021-03-13 18:27
我裂开了,100%,45%(没考虑大数),82%(超时),0%(做不了),0%(做不来),我感觉我凉透了
点赞 回复 分享
发布于 2021-03-13 18:29
100,70,70,18,18
点赞 回复 分享
发布于 2021-03-13 18:30

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
11 31 评论
分享
牛客网
牛客企业服务