首页 > 美团8.8笔试求解
头像
OPPO内推码_80378832_必过
发布于 2021-08-08 12:08
+ 关注

美团8.8笔试求解

第一题 找数 36%
T = int(input())
for _ in range(T):
    n, k = map(int, input().split())
    num = list(map(int,input().split()))
    num.sort()
    if n==k:
        if num[n-1]+1 <= n:
            print(num[n-1]+1)
        else:
            print('NO')
    else:
        # 主要报错部分
        if num[k-1]+1 >= 1 and num[k-1]+1 <= n and num[k-1]+1 <= num[k]:
            print('YES')
            print(num[k-1]+1)
        else:
            print('NO')
第二题 奇怪键盘 100% 
a = str(input())
ans1 = []
ans = []
# 删除空格
for i in range(len(a)):
    if a[i] != ' ':
        ans1.append(a[i])
# 删除重复元素
for j in range(len(ans1)):
    if j==0:
        ans.append(ans1[0])
    elif ans1[j] != ans1[j-1]:
        ans.append(ans1[j])
# 列表转化为字符串
out = ''.join(b for b in ans)
print(out)
第三题 序列prev题 64%
n = int(input())
num = list(map(int, input().split()))
prev = [0] * n
sum = 0
for i in range(1,n):
    num1 = num[0:i]
    num1.sort()
    for j in range(len(num1)):
        if num1[len(num1)-1-j] < num[i]:
            prev[i] = num1[len(num1)-1-j]
            break
    sum += (i+1)*prev[i]
print(sum)
第四题 漂亮序列左右一半相同 18% 
n = int(input())
num = list(map(int, input().split()))
ans = 0
L = []
for i in range(n//2):
    if num[i] != num[i+n//2] and num[i] not in L:
        ans += 1
        L.append(num[i])
print(ans)

全部评论

(4) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐