爱奇艺 2021/08/01 笔试全 AC 分享

本人使用 Python
第一题是个简单的 MySQL
select demand_id, count(id) as `count`
from Task
group by demand_id
having count > 1;
第二题直接暴力都能 100%, 有精度要求, 可以使用 decimal.Decimal
from decimal import Decimal
nums, k = input().strip().split(':')
nums = list(map(int, nums.split(',')))
n = len(nums)
pre = sum(nums[:k])
result = 0
for i in range(1, n - k):
    cur = sum(nums[i:i + k])
    cur = str((cur - pre) / pre * 100)
    cur = Decimal(cur).quantize(Decimal("0.01"), rounding="ROUND_HALF_UP")
    result = max(result, cur)
    pre = cur
print(str(result) + '%')
第三题提示了直接贪心就行, 注意初始化的时候要初始化所有值为 1
rains = list(map(int, input().strip()[1:-1].split(',')))
m = len(rains)
n = max(rains)
if not m:
    print('[]')
empty = [True] * (n + 1)
result = [-1 if rain else 1 for rain in rains]
flag = True
available = []
for i in range(m):
    if rains[i]:
        if empty[rains[i]]:
            empty[rains[i]] = False
        elif available:
            result[available.pop(0)] = rains[i]
        else:
            flag = False
            break
    else:
        available.append(i)
if flag:
    print('[' + ','.join(list(map(str, result))) + ']')
else:
    print('[]')
第四题, 可以参考 LeetCode 的按序打印, 不过 Python 可以偷鸡
print(input().strip().upper())

#爱奇艺笔试讨论##笔试题目##笔经##题解##爱奇艺#
全部评论
第四题对吗,没用多线程呀,可能这样操作能ac.
点赞 回复
分享
发布于 2021-08-02 12:55
百信银行
校招火热招聘中
官网直投
爱奇艺面试了吗?
点赞 回复
分享
发布于 2021-08-22 18:03

相关推荐

3 10 评论
分享
牛客网
牛客企业服务