美团 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
弱弱问一下那个,第三题中 counter = sorted(dic.items(), key=lambda k: (k[1], -k[0])) 这个lambda k 中-k[0] 有什么作用
1 回复 分享
发布于 2021-03-14 15:57
楼主你投的什么岗
1 回复 分享
发布于 2021-03-13 23:28
100 64 73 18 18 能给面试机会吗?
1 回复 分享
发布于 2021-03-13 19:49
第四题树形dp,dp维护最大权值和,dm维护满足条件下的路径上的最小权值。 0表示不选该点,1表示选。
1 回复 分享
发布于 2021-03-13 19:14
1,2,5AC 3 90% 4  18%,应该还行吧
1 回复 分享
发布于 2021-03-13 19:09
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
最后20分钟发现还有第5题😅
1 回复 分享
发布于 2021-03-13 18:20
请问有没有今天下午美团笔试是4道编程题,3道多选题的?
1 回复 分享
发布于 2021-03-13 18:15
100 % 100% 82% 0.18 0 第二题少写一个等号,一直找不到错误,搞了一个小时心态崩了。最后一分钟看到过了。 第二题可能直接用list<Sting>,然后排序list ,排序方法是。 第三题用滑动窗口,然后用hashmap计数。 (优化方法,用m记录众数次数,如果下一个数和众数相同,那么m+1.不同m-1,直到m==0重新算众数)
1 回复 分享
发布于 2021-03-13 18:13
100 100 82 18 18,这最后两道图论题我调了一个多小时都没过,不知道错在哪😣
1 回复 分享
发布于 2021-03-13 18:06
100 100 82 0  100
点赞 回复 分享
发布于 2021-03-14 19:22
第三题字典排序能AC吗
点赞 回复 分享
发布于 2021-03-14 13:19
100 100 100 18 0 本来以为第五道题是王炸,最后5min看到题发现亏大发了 第四道题二分dp写挂了,只有18分,最后也没调出来 第三题吐槽下卡常,卡常太严重了,各个地方做优化,最后才A
点赞 回复 分享
发布于 2021-03-14 12:06
我第五题反而a了
点赞 回复 分享
发布于 2021-03-14 10:33
看到大家都不会图论我就放心了
点赞 回复 分享
发布于 2021-03-13 23:20
点赞 回复 分享
发布于 2021-03-13 21:56
投的测开实习,请问测开和软开的题目是一样的吗?
点赞 回复 分享
发布于 2021-03-13 20:45
第三题维护一个set动态添加删除,第四题考虑dp表示每个节点取或不取时以该节点为根的子树的最大值和最小团队个数,第五题考虑边单调减建图,记忆化搜索即可
点赞 回复 分享
发布于 2021-03-13 20:40
100 64 72 18 82 每题只会暴力。
点赞 回复 分享
发布于 2021-03-13 20:37

相关推荐

LemontreeN:有的兄弟有的我今天一天面了五场,4个二面一个hr面
投递字节跳动等公司7个岗位
点赞 评论 收藏
分享
评论
11
31
分享

创作者周榜

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