3.13美团笔试

第一题:列表翻转(直接转就行)
n, m = map(int, input().split())
aa = []

for i in range(n):
    aa.append([int(j) for j in input().split()])

res = [[0] * n for _ in range(m)]

for i in range(n):
    for j in range(m):
        res[j][i] = aa[i][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])

第二题:寻找数字
s = input()
res = []
cur = ""
i = 0
while i < len(s):
    if '0' <= s[i] <= '9':
        cur += s[i]
    else:
        if cur != "":
            res.append(int(cur))
        cur = ""
    i += 1
if cur != "":
    res.append(int(cur))
res.sort()
for n in res:
    print(n)
> 直接找数,最后排个序
> 看别的笔经,好像存在大数问题,(python真香了) =_=

第三题:众数问题。。(卡数据了,只过了73%,感觉已经挺优的了啊,滑窗思想,心碎了)
n, k = map(int, input().split())
nums = [int(i) for i in input().split()]
#print(nums)
cur_dic = {}
res = []

if k == 1:
    for i in nums:
        print(i)
elif k == 2:
    for i in range(0, len(nums)-1):
        if nums[i] <= nums[i+1]:
            print(nums[i])
        else:
            print(nums[i+1])
else:
    for i in range(n):
        if cnt >= k:
            print(cur_dic)
            dic_cpy = sorted(cur_dic.items(), key=lambda x: (-x[1], x[0]))
            # print(cur_dic)
            res.append(dic_cpy[0][0])
            if cur_dic[nums[i]] >= 1:
                cur_dic[nums[i]] -= 1
            else:
                cur_dic.pop(nums[i])
        if nums[i] not in cur_dic:
            cur_dic[nums[i]] = 1
        else:
            cur_dic[nums[i]] += 1
        #print(cur_dic)
        cnt += 1

    for j in res:
        print(j) 

剩下两道图,直接放弃了,最后一个读懂了,就是时间不够了,加上图做得少,还需加强练习!!!呜呜呜,好惨,给个实习机会吧!

#笔经##美团#
全部评论
今天还想着看一下图相关,因为图结构感觉自己比较弱,但是才看了一点点,结果真考了,直接懵圈
点赞 回复 分享
发布于 2021-03-13 18:27
跟你一摸一样
点赞 回复 分享
发布于 2021-03-13 18:50
考试时间是多少?
点赞 回复 分享
发布于 2021-03-13 21:46

相关推荐

牛客963010790号:为什么还要收藏
点赞 评论 收藏
分享
点赞 8 评论
分享
牛客网
牛客企业服务